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();
		}
	}