java反射技术

1:通过反射获取对象的某个属性值,如果是私有的成员变量,则需要设置setAccessible(true)

   public static String[] convertToStringArray(List<?> list,String targetField) {
        String[] ids = new String[list.size()];
        for (int i = 0; i < list.size(); i++) {
            Object obj=list.get(i);
            try {
                Field filed =obj.getClass().getDeclaredField(targetField);
                filed.setAccessible(true);/////如果要访问私有的方法,所以我们在这里将可访问设置为true,则JVM不会执行访问控制检查;如果是共有方法则不需要设置
                ids[i]=filed.get(obj).toString();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return ids;
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章