您的位置:首页 > 编程语言 > Java开发

java中遍历实体类属性和类型,属性值

2014-12-24 10:22 465 查看
public static void testReflect(Object model) throws NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
Field[] field = model.getClass().getDeclaredFields();        //获取实体类的所有属性,返回Field数组
for(int j=0 ; j<field.length ; j++){     //遍历所有属性
String name = field[j].getName();    //获取属性的名字

System.out.println("attribute name:"+name);
name = name.substring(0,1).toUpperCase()+name.substring(1); //将属性的首字符大写,方便构造get,set方法
String type = field[j].getGenericType().toString();    //获取属性的类型
if(type.equals("class java.lang.String")){   //如果type是类类型,则前面包含"class ",后面跟类名
Method m = model.getClass().getMethod("get"+name);
String value = (String) m.invoke(model);    //调用getter方法获取属性值
if(value != null){

System.out.println("attribute value:"+value);
}
}
if(type.equals("class java.lang.Integer")){
Method m = model.getClass().getMethod("get"+name);
Integer value = (Integer) m.invoke(model);
if(value != null){
System.out.println("attribute value:"+value);
}
}
if(type.equals("class java.lang.Short")){
Method m = model.getClass().getMethod("get"+name);
Short value = (Short) m.invoke(model);
if(value != null){
System.out.println("attribute value:"+value);                    }
}
if(type.equals("class java.lang.Double")){
Method m = model.getClass().getMethod("get"+name);
Double value = (Double) m.invoke(model);
if(value != null){
System.out.println("attribute value:"+value);
}
}
if(type.equals("class java.lang.Boolean")){
Method m = model.getClass().getMethod("get"+name);
Boolean value = (Boolean) m.invoke(model);
if(value != null){
System.out.println("attribute value:"+value);
}
}
if(type.equals("class java.util.Date")){
Method m = model.getClass().getMethod("get"+name);
Date value = (Date) m.invoke(model);
if(value != null){
System.out.println("attribute value:"+value.toLocaleString());
}
}
}
}


/*
*
*
* @param scoreList 财务安全得分list
*
* @return table中显示数据实体类
*
*/
public List<Fxbg_zbdfInfo> queryzbdf(List<ScoreResult> scoreList)
{
List<Fxbg_zbdfInfo> list = new ArrayList<Fxbg_zbdfInfo>();
Fxbg_zbdfInfo fxbgInfo = null;
for (int i = 0; i < 1; i++)
{
fxbgInfo = new Fxbg_zbdfInfo();

ScoreResult sr = scoreList.get(i);

// 获取实体类的所有属性,返回Field数组
Field[] field = sr.getClass().getDeclaredFields();

// 遍历所有属性
for(int j=0 ; j < field.length ; j++)
{
// 获取属性的名字,首字母大写
String name = field[j].getName();
name = name.substring(0,1).toUpperCase()+name.substring(1);
Method m;
try {
if(!"Id".equals(name))
{
// 调用getter方法获取属性值
m = sr.getClass().getMethod("get"+name);
String value = (String) m.invoke(sr);

if(value != null){
if("ReportYear".equals(name))
{
fxbgInfo.setReportYear(value);
}
if("S001".equals(name))
{
fxbgInfo.setData1(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData2("*");
}else{
fxbgInfo.setData2("");
}
fxbgInfo.setData3(xingxing10(cleanYj(value)));
}
if("S002".equals(name))
{
fxbgInfo.setData4(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData5("*");
}else{
fxbgInfo.setData5("");
}
fxbgInfo.setData6(xingxing10(cleanYj(value)));
}
if("S003".equals(name))
{
fxbgInfo.setData7(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData8("*");
}else{
fxbgInfo.setData8("");
}
fxbgInfo.setData9(xingxing10(cleanYj(value)));
}
if("S004".equals(name))
{
fxbgInfo.setData10(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData11("*");
}else{
fxbgInfo.setData11("");
}
fxbgInfo.setData12(xingxing10(cleanYj(value)));
}
if("S005".equals(name))
{
fxbgInfo.setData13(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData14("*");
}else{
fxbgInfo.setData14("");
}
fxbgInfo.setData15(xingxing5(cleanYj(value)));
}
if("S006".equals(name))
{
fxbgInfo.setData16(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData17("*");
}else{
fxbgInfo.setData17("");
}
fxbgInfo.setData18(xingxing5(cleanYj(value)));
}
if("S007".equals(name))
{
fxbgInfo.setData19(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData20("*");
}else{
fxbgInfo.setData20("");
}
fxbgInfo.setData21(xingxing5(cleanYj(value)));
}
if("S008".equals(name))
{
fxbgInfo.setData22(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData23("*");
}else{
fxbgInfo.setData23("");
}
fxbgInfo.setData24(xingxing5(cleanYj(value)));
}
if("S009".equals(name))
{
fxbgInfo.setData25(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData26("*");
}else{
fxbgInfo.setData26("");
}
fxbgInfo.setData27(xingxing10(cleanYj(value)));
}
if("S010".equals(name))
{
fxbgInfo.setData28(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData29("*");
}else{
fxbgInfo.setData29("");
}
fxbgInfo.setData30(xingxing10(cleanYj(value)));
}
if("S011".equals(name))
{
fxbgInfo.setData31(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData32("*");
}else{
fxbgInfo.setData32("");
}
fxbgInfo.setData33(xingxing10(cleanYj(value)));
}
if("S012".equals(name))
{
fxbgInfo.setData34(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData35("*");
}else{
fxbgInfo.setData35("");
}
fxbgInfo.setData36(xingxing10(cleanYj(value)));
}
if("S013".equals(name))
{
fxbgInfo.setData37(cleanYj(value));
if(value.indexOf("*") != -1){
fxbgInfo.setData38("*");
}else{
fxbgInfo.setData38("");
}
fxbgInfo.setData39(xingxing10(cleanYj(value)));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
list.add(fxbgInfo);
}
return list;
}

/*
* 取出得分中的*
*/
public String cleanYj(String str)
{
str = str.replace("*", "");
return str;
}

/*
* 总分为10分的评星
*/
public String xingxing10(String str)
{
String xingxing = "";
int strInt = Integer.parseInt(str);
if(strInt >= 9 && strInt <= 10){
xingxing = "★★★★★";
}else if(strInt >= 7 && strInt <= 8){
xingxing = "★★★★";
}else if(strInt >= 5 && strInt <= 6){
xingxing = "★★★";
}else if(strInt >= 3 && strInt <= 4){
xingxing = "★★";
}else if(strInt >= 0 && strInt <= 2){
xingxing = "★";
}
return xingxing;
}

/*
* 总分为5分的评星
*/
public String xingxing5(String str)
{
String xingxing = "";
int strInt = Integer.parseInt(str);
if(strInt == 5){
xingxing = "★★★★★";
}else if(strInt == 4){
xingxing = "★★★★";
}else if(strInt == 3){
xingxing = "★★★";
}else if(strInt == 2){
xingxing = "★★";
}
d4a7
else if(strInt >= 0 && strInt <= 1){
xingxing = "★";
}
return xingxing;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: