zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    Add Two Numbers
    Remove Duplicates from Sorted List II
    Reorder List
    Divide Two Integers
    Reverse Nodes in k-Group
    链表反转
    模板类 error LNK2019: 无法解析的外部符号
    传参数应该用哪种形式——值、引用、指针?
    OpenMesh 将默认的 float 类型改为 double 类型
    fatal error LNK1169: 找到一个或多个多重定义的符号
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/12632029.html
Copyright © 2011-2022 走看看