zoukankan      html  css  js  c++  java
  • 转载: 通过反射操作类的私有属性

    原文地址:

    http://blog.csdn.net/qustmeng/article/details/54691933

    对于类的私有属性,如果没有提供公用方法去修改它,我们可以通过反射方法实现。下面为简单例子

    import java.util.ArrayList;
    import java.util.List;
    
    public class A {
    
    	private List<Integer> list = new ArrayList<Integer>();
    
    	public List<Integer> getList() {
    		return list;
    	}
    	
    }
    

     import java.lang.reflect.Field;
    import java.util.List;

    public class Test {
        
        @SuppressWarnings("unchecked")
        public static void main(String[] args) {
            A a = new A();
            try {
                Field field = A.class.getDeclaredField("list");
                field.setAccessible(true);
                List<Integer> myList = (List<Integer>) field.get(a);
                

                myList.add(1);
                myList.add(2);

                myList.add(3);

                myList.add(4);

                myList.add(5);


                for (Integer i : a.getList()) {
                    System.out.println(i);
                }
                
            } catch (NoSuchFieldException e) {
                e.printStackTrace();
            } catch (SecurityException e) {
                e.printStackTrace();
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }

    }

    效果图:

  • 相关阅读:
    安卓小助手
    位图切割器&位图裁剪器
    OAuth2.0 的简介
    多账户的统一登录方案
    常用的一些SQL语句
    SQL语句的优化
    SpringCloud简介与5大常用组件
    数据库为什么需要锁机制?有哪些锁机制?
    高并发下如何优化能避免服务器压力过大?
    Spring MVC 简介
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/6937289.html
Copyright © 2011-2022 走看看