以下问题困扰了我很长时间,我无法找到有关命名约定的任何信息。
有以下方法:
java.util.Collection.size();
这种方法实际上是一个集合大小的吸气剂,但它并不是以" get"与常规的getter方法不同。
那么这些类型的方法的命名约定是什么?
答案 0 :(得分:5)
Collection.size()
不是典型的getter,因为它不是一个简单的字段返回 - 它是一个集合的大小,因此你没有setSize()
,因为这不是您设置的字段 - 这是一个“计算”值。
你可以这样思考 - getter和setter通常会一起使用,以便封装一个字段 - 如果你不能做setX()
,那么它不是一个典型的getter / setter。
但这只是一个惯例问题,有些人相信在没有得到或设定的情况下总是使用它。
答案 1 :(得分:4)
没有真正的规则'为了这。有时,类会根据size()
或length()
等函数为您提供值。其他人会通过get...()
将其退回。
根据我的经验,长度通常来自size()
或length()
(如数组),其他变量来自get...()
(如在android - getHeight()
中) 。
你可以这么说,因为吸气者会选择限制器,如果没有固定器,那么就不会有吸气剂。
答案 2 :(得分:1)
这些方法来自早期版本的Java,这是Java 1(v1.02等)的第一个版本。 在此示例中,尚未引入集合框架。它仅在Java 1.2中引入。到那时,我们只有java.util.Vector和java.util.Hashtable。 在引入集合框架之后,这些旧类被改进以实现适当的接口。
答案 3 :(得分:1)
没有"得到"在其名称
除了其他答案之外,这是一个很小的例子 - 如果变量是布尔值,那么应该使用"是"而不是"得到"。