分享

javabean属性命名问题

 那痞子真帅 2009-07-10


这个问题有点无聊,但是我花了一个下午才找到点规律。过程中搜了网上的很多资料。 
http://www./topic/137565 
这篇讨论很有参考性。javabean的命名规范可以从 
http://java./javase/technologies/desktop/javabeans/docs/spec.html 
下载,不过我没有下载成功。 

javabean的属性命名是有规范的,属性变量的名称用小写字母开头。但是如果大写字母怎么办呢?下面这段代码是输出javabean的属性名称的。我用了一个User类来做测试。 
Java代码 
  1. BeanInfo beanInfo = Introspector.getBeanInfo(User.class);  
  2. PropertyDescriptor[] proDes =  beanInfo.getPropertyDescriptors();  
  3. forint i = 0; i < proDes.length; i++){  
  4.     PropertyDescriptor pd = proDes[i];  
  5.     System.out.println(pd.getName());  
  6. }  


最后我从set***方法和get***方法入手找到一点规律。 
如果***的前两个字母都是大写,那么他对应的属性名称就是***,也就是说属性名就是***不变。其他三种情况:小写+小写,小写+大写,大写+小写;都是将第一个字母变成小写(原来是小写的就小写不变),其他的不变,作为属性名称。 

所以,一般我们在定义属性变量的时候会出现如eMail,QQ等名字。那么用自动生成get/set方法时就会生成如setEMail(),setQQ()等。那么这些方法对应的属性名称应该是EMail,QQ。 

一般来说,定义属性变量的时候,注意第二个字母不要是大写就可以了。 

具体的Introspector,BeanInfo为什么把属性名解释成这样就不知道了。 

我找到的规律不知有没有错。欢迎指正。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多