java反射动态获取字段名并设置字段值
第一种方式:
//将原有字段的值设置从空值public void testGetField() throws Exception{//TblArchivesSend有字段blank0--blank10TblArchivesSend 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 blocke.printStackTrace();}}?