zoukankan      html  css  js  c++  java
  • Java反射学习(java reflect)(二)

    ok之前说了Java的反射和反射分析类,那这些东西有神马作用呢,下面就来说应用:

    三、运行时使用反射分析对象

    • 简单写一个Employee,然后利用JAVA反射去取name,getDeclareField(String  name)可以取得全部,就算是private的上面说过了,所以到第9行还是没问题的。

        、、

     

      但是在第11行的时候错了,因为get(Field f)没有访问权限所以IllegalAccessException,在这里有个方法setAccessible(Boolean b),这货是为"调试、持久存储和相似机制提供的",完成读取如下:

        

      

      取得了权限,当然就可易用field.set(e,"hehe");之类的语句赋值啦~

     

    四、反射--泛型数组

      Array(java.lang.reflect)允许动态创建数组,以下是实现代码:

      

      但是这个代码是用Object[]单纯增加数组长度的,但是Object[]并不能转成String[],结果就是String[]转成Object[]是可以的,但是想要转回原数组就会报错:

      mainCode:

      

      Error : ClassCastException:

      

    那么如何转换才是正确的呢,Array中有个方法叫newInstance(Class<?> componentType, int length); 这个方法你只要给定数组原本的类型以及数组的长度,那么return出来的object也能够转化为String[].

    mainCode:

      

    Method:(arrayPrint(int[])为打印函数,goodArrayGrow(int[] a)为增长数组函数)

      

      

     Result:

       

     

    成功使数组增长hohoho~

      

     

  • 相关阅读:
    你所不了解的静态路由特点及配置
    程序员进阶中--说说这一年的“酸甜苦辣”
    前序、中序、后序遍历的多种非递归实现
    spring依赖注入单元测试:expected single matching bean but found 2
    汉语-汉字:効、效
    汉语-词语:悃愊
    汉语-词语:宽容
    System.Threading.Tasks.TaskFactory.cs
    汉语-词语:高明
    唐-诗:《山居秋暝》
  • 原文地址:https://www.cnblogs.com/qixi233/p/4652758.html
Copyright © 2011-2022 走看看