zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java中遍历实体类属性和类型详解编程语言

JAVA属性遍历编程语言 详解 类型 实体类
2023-06-13 09:11:46 时间
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()); 

 }

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/16905.html

cjava