zoukankan      html  css  js  c++  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();

            }

          }

        }  

      }

    }

  • 相关阅读:
    MongoDB的基本操作
    Python 进阶 之 协程
    sublime text3 3143 注册码
    git add 文档
    Corosync 配置描述
    Centos 7 设置 DNS
    2017百度春招<度度熊买帽子的问题>
    leetcode 160. Intersection of Two Linked Lists
    leetcode 155. Min Stack
    leetcode 141 142. Linked List Cycle
  • 原文地址:https://www.cnblogs.com/yanjunwu/p/3824962.html
Copyright © 2011-2022 走看看