• java内省


    参考连接:https://blog.csdn.net/qiaolovemath/article/details/50454400?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-5

    package com.siyuan.jdktest;
    
    import java.beans.BeanDescriptor;
    import java.beans.BeanInfo;
    import java.beans.IntrospectionException;
    import java.beans.Introspector;
    import java.beans.MethodDescriptor;
    import java.beans.PropertyDescriptor;
    import java.lang.reflect.Method;
    
    class Person {
     
     private String name;
     
     private int age;
    
     
     public int getAge() {
      return age;
     }
    
     
     public void setAge(int age) {
      this.age = age;
     }
    
     
     public String getName() {
      return name;
     }
    
     
     public void setName(String name) {
      this.name = name;
     }
     
    }
    
    public class IntrospectorTest {
    
     
     public static void main(String[] args) throwsIntrospectionException {
      // TODO Auto-generated methodstub
      BeanInfo beanInfo =Introspector.getBeanInfo(Person.class);
      
      System.out.println("BeanDescriptor===========================================");
      BeanDescriptor beanDesc =beanInfo.getBeanDescriptor();
      Class cls =beanDesc.getBeanClass();
      System.out.println(cls.getName());
      
      System.out.println("MethodDescriptor===========================================");
      MethodDescriptor[] methodDescs= beanInfo.getMethodDescriptors();
      for (int i = 0; i< methodDescs.length; i++) {
       Method method= methodDescs[i].getMethod();
       System.out.println(method.getName());
      }
      
      System.out.println("PropertyDescriptor===========================================");
      PropertyDescriptor[] propDescs= beanInfo.getPropertyDescriptors();
      for (int i = 0; i< propDescs.length; i++) {
       MethodmethodR = propDescs[i].getReadMethod();
       if (methodR!= null) {
        System.out.println(methodR.getName());
       }
       MethodmethodW = propDescs[i].getWriteMethod();
       if (methodW!= null) {
        System.out.println(methodW.getName());
       }
      }
     }
    
    }
    
    3. 运行结果
    
     
    
    BeanDescriptor===========================================
    com.siyuan.jdktest.Person
    MethodDescriptor===========================================
    hashCode
    setAge
    equals
    wait
    wait
    notify
    getClass
    toString
    getAge
    notifyAll
    setName
    wait
    getName
    PropertyDescriptor===========================================
    getAge
    setAge
    getClass
    getName
    setName
    

      

  • 相关阅读:
    R学习笔记3 数据处理
    R学习笔记2 因子
    R学习笔记1 介绍R的使用
    正则表达式之邮箱、手机号码、电话号码,url地址
    vue之axios运用
    angularJS导出数据到Excel
    vue2全选反选
    css设置垂直居中
    js实现鼠标选中文本改变选中区域颜色以及给选中区域加上html标签
    安装了Vetur之后的配置
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/12632029.html
Copyright © 2020-2023  润新知