zoukankan      html  css  js  c++  java
  • java 反射得到属性与属性值

    反射可以破坏所有的封装性,比如这次通过反射得到的属性与属性值;

     /**
         * 得到属性值
         * @param obj
         */
        public static void readAttributeValue(Object obj){
                String nameVlues="";
                //得到class
                Class cls = obj.getClass();
                //得到所有属性
                Field[] fields = cls.getDeclaredFields();
               for (int i=0;i<fields.length;i++){//遍历
                   try {
                       //得到属性
                       Field field = fields[i];
                       //打开私有访问
                       field.setAccessible(true);
                       //获取属性
                       String name = field.getName();
                       //获取属性值
                       Object value = field.get(obj);
                       //一个个赋值
                       nameVlues += field.getName()+":"+value+",";
                   } catch (IllegalAccessException e) {
                       e.printStackTrace();
                   }
               }
           //获取最后一个逗号的位置
           int lastIndex = nameVlues.lastIndexOf(",");
        
    //不要最后一个逗号"," String result= nameVlues.substring(0,lastIndex); System.out.println(result); }

    我们再来看看输出的结果吧:

    数据是提前通过set的方法赋值的

  • 相关阅读:
    loopback 03
    loopback 02
    loopback 01
    node.js整理 02文件操作-常用API
    node.js整理 01代码的组织和部署
    express-21 静态内容
    coffeeScript学习02
    coffeeScript学习01
    jade学习02
    Android 读取Assets中资源
  • 原文地址:https://www.cnblogs.com/javaLin/p/8341388.html
Copyright © 2011-2022 走看看