小江啊 2013-04-17 16:24
浏览 363
已采纳

关于BeanInfo的一个问题

[code="java"][/code] import java.beans.BeanInfo;

import java.beans.IntrospectionException;

import java.beans.Introspector;

import java.beans.PropertyDescriptor;

       public class BeanInfoTest {

                 public int getA(){

                          return 1;

                }

                 public static void main(String[] args) {

                         try {

                                     BeanInfo bi =Introspector.getBeanInfo(BeanInfoTest.class, Object.class);

                                     PropertyDescriptor pd[] = bi.getPropertyDescriptors();

                                    for(PropertyDescriptor prodes:pd){

                                              System.out.println(prodes.getName());

                                              System.out.println(prodes.getReadMethod());

                                              System.out.println(prodes.getWriteMethod());

                                     }

                             } catch (IntrospectionException e) {

                                       e.printStackTrace();

                               }

        }

}

 

 

 附件是结果,它竟然帮我找到了property a。

我比较好奇的问题是,我明明没有定义a这个字段的。难道反射的时候都是通过找到getXX setXX方法来判断是不是有这个属性吗?感觉这也太不合适了。还是说这样只是为了让所有权在我们手上,让我们使用规范的bean。提供完整的set get方法和字段?还望知道的人告知一二,

  • 写回答

4条回答 默认 最新

  • yunzhu666 2013-04-17 16:28
    关注

    LZ自己已经说出了正确答案了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?