首页 > 代码库 > java 反射
java 反射
利用反射可以处理的事情,可以改变对象里的值.
比如我们的项目,有spring注入不成功,利用反射做spring没做到位的事情.(好像只有private的对象才行哦)
eg:
public class Test{
private String a;
public static void main(String[] args ){
//现在a为空
Test t = new Test();
insertA();
System.out.println(t.a)
}
public static void insertA(Object o){
//通过反射搞
Class cla = o.getClass();
Field[] fs = cla.getDeclaredFields();//类中获取什么的字段
if(null!=fs){
for(Field f:fs){
try{
Object theObj = f.get(cla);//获取真实对象
if(null==theObj){
//设置对象中的值
f.set(o,"123");
//至此,对象t中a的值已经为123;
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。