如果我的Java类中有一个属性'gId',那么访问器方法应该被命名为什么?
getGId
就是我的假设。
如果有一个属性gURL
我认为它会是getGURL
,哪种看起来很难看(虽然不是指女孩的替代拼写)。
如果该属性只是url
,方法名称getUrl
在眼睛上是好的,是的,我不会将该属性命名为URL,这将使访问者再次丑陋 - {{ 1}}
我记得从Javabean Specification PDF中读取有关属性大写的内容以及涉及缩略语的案例,但不能再在PDF中找到它。
有没有人提到它或请确认我说的是对的?
答案 0 :(得分:6)
您感兴趣的参考资料可以在Beans specification的第8.8节找到。
话虽如此,它并未明确涵盖您gId
/ gURL
的特定情况。规范说,要提供一个getter / setter,我们只需将首字母大写。要从getter / setter恢复属性,如果前两个字母是大写,则整个属性保持原样。否则我们将第一个字母的资本化。因此,您的getter将变为getGURL
,但您的属性将被错误地从getter恢复为GURL
。您对gId
也有同样的问题。
因此,似乎规范不允许您使用第一个小写字符后跟大写字符来提供任何属性的一致转换。
我的建议是采用完全小写的属性,或者将小写前缀扩展为两个字母(例如glURL
)。
答案 1 :(得分:0)
为了更具保守性(正如Luca和here所说),规范告诉我们有一种方法可以告诉你:java.beans.Introspector.decapitalize(String)。