java反照动态获取字段名并设置字段值
java反射动态获取字段名并设置字段值
第一种方式:
//将原有字段的值设置从空值 public void testGetField() throws Exception{ //TblArchivesSend有字段blank0--blank10 TblArchivesSend tbl = new TblArchivesSend(); tbl.setBlank0("ddddd"); String filedName = "blank0"; //filedName以后是从某个方法获取的 Field name = tbl.getClass().getDeclaredField(filedName); name.setAccessible(true); System.out.println(name.get(tbl)); name.set(tbl, ""); System.out.println(name.get(tbl)); name.setAccessible(false); }
第二种方式:
public void testGet(){ String objName = "com.jh.jcs.archives.model.TblArchivesSend"; try { Class clazz= Class.forName(objName); Object obj = clazz.newInstance(); Field name=clazz.getDeclaredField("blank0"); name.setAccessible(true); System.out.println(name.get(obj)); name.set(obj, "che"); System.out.println(name.get(obj)); name.setAccessible(false); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }