美文网首页
java反射相关基础2019-10-10

java反射相关基础2019-10-10

作者: 单是一个姓 | 来源:发表于2019-10-10 23:14 被阅读0次
    // java8 stream API Arrays.stream(T[] array)    返回以指定数组作为源的顺序
    // isAssignableFrom()    native方法,确定Class对象是否相同
    Field field = Arrays.stream(clazz.getDeclaredFields()).filter(e -> String.class.isAssignableFrom(e.getType()).findFirst().orElse(null);
    
    内省 introspector
    JDK中提供了一套API用来访问某个属性的getter和setter方法,这就是内省
    ClassDemo classDemo = new ClassDemo(11, "张三");
    BeanInfo beanInfo = Introspector.getBeanInfo(ClassDemo.class);
    PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
    for (PropertyDescriptor propertyDescriptor : propertyDescriptors) {
        System.out.println(propertyDescriptor.getName());
        Method readMethod = propertyDescriptor.getReadMethod();
        Object object = readMethod.invoke(classDemo);
        System.out.println(object);
    }
    
    Method invoke(Object obj, Object... args) 在具有指定参数的指定对象上调用此方法对象表示的基础方法
    
    
    

    相关文章

      网友评论

          本文标题:java反射相关基础2019-10-10

          本文链接:https://www.haomeiwen.com/subject/utezpctx.html