我正在寻找Java中官方的访问器命名约定,涉及到IT技术。
例如,我已经看到JPanel
类弃用了size()
方法,改用getSize()
方法。
但是在ArrayList
类中,该方法仍然是size()
。
因此,我想知道访问器应该命名为getXXX()
还是xXX()
?
我正在寻找Java中官方的访问器命名约定,涉及到IT技术。
例如,我已经看到JPanel
类弃用了size()
方法,改用getSize()
方法。
但是在ArrayList
类中,该方法仍然是size()
。
因此,我想知道访问器应该命名为getXXX()
还是xXX()
?
资源:
相关主题:
在查询方法中,我总是将getXXX
视为提供的内容而不是计算出来的内容。 size()
方法返回集合的大小,这是一个派生值,因此它是有意义的。如果你有getSize()
,我的假设是我可以通过构造函数或setter方法来设置大小。
size()
相比,getSize()
更有意义,因为它可以被视为 List
的(虚拟)属性,因为它总是有一个大小分配给它。 - Johannes Wachter对于任何试图看起来像JavaBean的东西,它应该是getXXX
或isXXX
。(我记不清hasXXX对于布尔属性是否有效...不确定。)
将JPanel
以bean的方式处理-对于设计师等是有意义的,但不适用于ArrayList
。
个人而言,我倾向于仅使用getXXX形式以保持一致性,但我相信上述是涉及ArrayList
命名的原因。
这只是对Colin HERBERT的回答的补充,我认为他的回答已经足够了:
public Type getProperty()
。此外,访问器应该始终返回属性值的副本,而不是值本身。public void setProperty(Type value)
将访问器和修改器组合在一起,就可以得到一个JavaBean属性。JavaBeans本质上不被认为是不可变的,但如果您想使其不可变,您应该使用以下修改器方法的签名:public YourJavaBean withProperty(Type value)
。请注意,这应该始终返回一个完全新的YourJavaBean
实例,其中包含复制的属性值。
根据JavaBeans规范,遵循setXXX和getXXX模式总是更好的选择。size()方法的命名可能是因为它只是查询状态。
我更喜欢使用get
/is
/set
命名约定(尤其是针对ValueObjects/DataObjects),不仅因为它是JavaBeans规范,还因为以下两点: