这个问题有点无聊,但是我花了一个下午才找到点规律。过程中搜了网上的很多资料。
http://www./topic/137565 这篇讨论很有参考性。javabean的命名规范可以从 http://java./javase/technologies/desktop/javabeans/docs/spec.html 下载,不过我没有下载成功。 javabean的属性命名是有规范的,属性变量的名称用小写字母开头。但是如果大写字母怎么办呢?下面这段代码是输出javabean的属性名称的。我用了一个User类来做测试。
最后我从set***方法和get***方法入手找到一点规律。 如果***的前两个字母都是大写,那么他对应的属性名称就是***,也就是说属性名就是***不变。其他三种情况:小写+小写,小写+大写,大写+小写;都是将第一个字母变成小写(原来是小写的就小写不变),其他的不变,作为属性名称。 所以,一般我们在定义属性变量的时候会出现如eMail,QQ等名字。那么用自动生成get/set方法时就会生成如setEMail(),setQQ()等。那么这些方法对应的属性名称应该是EMail,QQ。 一般来说,定义属性变量的时候,注意第二个字母不要是大写就可以了。 具体的Introspector,BeanInfo为什么把属性名解释成这样就不知道了。 我找到的规律不知有没有错。欢迎指正。 |
|