Class clazz = R1023106103.class;
Field[] field = clazz.getDeclaredFields();//获取属性数组
R1023106103 pc = (R1023106103) clazz.newInstance();// 创建一个实例
for (Field field2 : field) {
field2.setAccessible(true);//对private 以及 final 标识的字段附访问权限。否则没有办法获取private 中的属性。
String fieldName = field2.getName();//获取属性名称
Class cla = field2.getType();//获取属性类型
String type = cla.getTypeName();
type = type.substring(type.lastIndexOf(".")+1,type.length());
//判断只是参考,下面的set与get才是真正的方法
if(!fieldName.equals("serialVersionUID")&&!fieldName.equals("messageTypeId")){
System.out.println(fieldName+"~~~~~~~~~"+type+"----"+field2.get(pc));
if(type.equals("long")||type.equals("Long")){
field2.set(pc, 1L);
}else if(type.equals("double")||type.equals("Double")){
field2.set(pc, 0.26);
}else if(type.equals("Short")){
field2.set(pc, 1);
}else{
field2.set(pc, "1");
}
System.out.println(fieldName+"~~~~~~~~~"+type+"----"+field2.get(pc));
}
}
System.err.println(pc.getFilmThickMaxDif());
Java反射获取实体类的名称以及set值
最新推荐文章于 2024-08-05 04:45:00 发布