java中遍历一个对象的所有属性
2013-04-13 11:32
567 查看
本文转载自(http://www.cnblogs.com/137913828S2/archive/2012/07/10/2584774.html)
java中遍历实体类属性和类型,属性值
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());
}
}
}
}
相关文章推荐
- 遍历一个对象所有的属性名称和值
- 如何遍历一个对象所有的属性并判断属性值
- 写一个方法进行各种属性的更新,而不要每个界面设置改变都改变一个属性。就是点击应用或确定按钮时调用这个更新属性的方法,遍历所有(控制对象属性的)界面控件的状态(值),进行属性修改和刷新。
- 在C#如何遍历一个对象的所有属性
- Java循环一个对象的所有属性,并通过反射给这些属性赋值/取值
- 写一个 function,它遍历一个对象数组(第一个参数)并返回一个包含相匹配的属性-值对(第二个参数)的所有对象的数组。
- Java 遍历一个对象的属性 将非空属性赋值给另一个对象
- 遍历一个对象数组,返回一个包含相匹配的属性-值对的所有对象的数组
- » 遍历JavaScript对象的所有属性 [Java堂]
- js遍历一个对象的所有属性
- 在C#如何遍历一个对象的所有属性
- 在C#如何遍历一个对象的所有属性
- Java遍历对象所有属性
- Java遍历一个类的所有属性和值
- java中如何取到一个对象的所有属性值,并且在创建一个相同的对象
- C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值
- java遍历一个文件夹中的所有文件
- [置顶] Java遍历一个目录下的所有文件
- js中获取一个对象中包含的所有属性及属性值
- Java取得一个对象里所有get方法和set方法