【问题标题】:How to define all getters and setters at once?如何一次定义所有的getter和setter?
【发布时间】:2014-07-28 15:06:17
【问题描述】:

在编写 Java 类时,我觉得恼人的一件事是 getter 和 setter。为类的每个私有属性编写 2 个方法很快就会让人厌烦。

所以,我想知道是否有一种方法可以只用一个语句定义给定类的多个/所有 getter 和 setter? 我看到这在某些语言中是可能的,但 Java 是否支持它?

【问题讨论】:

  • 你在用eclipse吗?
  • 一些 IDE 有为您添加此代码的捷径。
  • 你的 IDE 支持它。
  • 迁移到 Scala — 也会解决其他问题。
  • 虽然确实有一些样板代码可能涉及到 setter 和 getter(特别是当你想添加 JavaDocs 时...),并且创建它可能很烦人,但这有一个优点: 你不会盲目地去做。您应该彻底考虑是否需要一个字段的getter,以及是否需要一个setter。无论如何,即使 IDE 提供了这样做的可能性:不要盲目地点击那个按钮......

标签: java setter getter


【解决方案1】:

我可以推荐项目Lombok吗?它的功能之一是创建微不足道的默认 getter 和 setter,除非您用自己的明确覆盖它们。

【讨论】:

  • +1 我用过龙目岛。这是一个了不起的工具。它非常适合消除样板代码。
【解决方案2】:

Java 不支持这个。 (老实说,我希望这样做。)但是许多 IDE 会为您编写代码,这非常方便。查看docs for NetBeans,它将一次性为您编写这些 getter 和 setter。

按 Alt-Insert(或选择 Source > Insert Code) 编辑器从代码生成框中插入一个构造。这 建议列表已根据当前上下文进行调整。

...在IDE的Java Editor中,可以自动生成各种 构造和整个方法,覆盖和委托方法,添加 属性等等。

【讨论】:

    【解决方案3】:

    在eclipse中,右键单击要为其生成的类,然后选择source->getters and setters->然后检查所有字段并选择getter和setter。这将为您批量生成它们

    对于 Intellij - 打开要为其生成的类,然后单击代码 -> 生成 -> getter 和 setter。

    其他 IDE 也有这个功能,但我只知道 Eclipse 和 Intellij 在我脑海中

    【讨论】:

      【解决方案4】:

      在 netbeans 中,右键单击并选择插入代码,然后选择 getter 和 setter。它将显示所有变量。勾选要为其创建 getter 和 setter 的变量。您也可以选择所有字段。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多