Student student=new Student(); //student字段 id name student.setId(1); student.setName("xvxing"); List list=new ArrayList(); list.add("id"); list.add("name"); Class type=Student.class; Field namef=type.getDeclaredField("name"); namef.setAccessible(true); System.out.println(namef.get(student)); 代码是这样的 如果我把name换成其他的比如说换成name1就会报错 有什么可以用作判断的方法吗
用try catch 判断 并处理
没人知道吗 因为是在页面 所以用try catch 有点不太好吧
type.getDeclaredFields()得到类中所有属性数组然后循环for (Field field : type.getDeclaredFields()) { if (field.getName().equals("name")) { // 某些处理 break; } }
也可以通过sql语句去查询这个字段,判断是否存在
//student字段 id name
student.setId(1);
student.setName("xvxing");
List list=new ArrayList();
list.add("id");
list.add("name");
Class type=Student.class;
Field namef=type.getDeclaredField("name");
namef.setAccessible(true);
System.out.println(namef.get(student));
代码是这样的 如果我把name换成其他的比如说换成name1就会报错 有什么可以用作判断的方法吗
if (field.getName().equals("name")) {
// 某些处理 break;
}
}
try {
Field namef=type.getDeclaredField("name");
namef.setAccessible(true);
} catch (Exception) {
//没找到叫name的字段
}