getter 方法和 returns 实例变量状态的方法之间的区别?

difference between a getter method and a method which returns the state of an instance variable?

我正在通读 Guava 库,我将 运行 保存到如下所示的方法中:

@Override public int size() {
  return size;
}

以上和以下之间有什么区别(在战略上、惯例上等)?

@Override public int getSize() {
  return size;
}

还是没有区别?只是 shorthand 吗?

一种形式没有使用 JavaBeans conventions。从功能上讲,如果您对 bean 使用非常规 getters/setters,那么期望您遵循这些约定的系统将无法工作或设置起来非常麻烦,但如果您 不是 ,那就没有什么区别了。

由于Guava有很多集合,而且Collection接口实际上定义了a size() method,我的直觉告诉我Guava更倾向于遵循Collection接口而不是JavaBeans约定.

  • 在性能方面没有区别。
  • 就可读性而言,它们也很相似,但 getAttribute 详细说明了此方法的作用 size 可能意味着我们需要做一些额外的计算,吸气剂在大多数情况下只是 returns 值)。
  • 但我怀疑人们倾向于将他们的方法命名为 get/set... 的主要原因是让他们的 class 成为正确的 JavaBean,它将被使用 JavaBeans 的工具正确处理喜欢 Expression Language

关于你的例子。我怀疑因为 Lists 不应该被视为 JavaBeans 所以没有要求 return sizegetSize() 如此简单 size() 够了。