【问题标题】:What are the settings to modify the default getter and setter methods provided by Eclipse?修改 Eclipse 提供的默认 getter 和 setter 方法的设置是什么?
【发布时间】:2015-07-24 12:34:00
【问题描述】:

我正在使用 Eclipse Kepler 来开发我的 Java 项目。我创建了一个 vo 并在 vo 中添加了一些属性。要为这些属性生成 getter 和 setter 方法,我右键单击一个属性并转到"Source",然后单击"Generates Getters and Setters"。它向我展示了属性的可用 getter/setter 方法。下面是截图

正如您在上面的屏幕截图中看到的,Eclipse 为我提供了属性 sId 的 getter 和 setter 方法

public String getsId() {
        return sId;
}

public void setsId(String sId) {
        this.sId = sId;
}

get 和 set 后的第一个字母是小写字母(getsId 和 setsId)。

对于属性 uid,Eclipse 正在创建所需的 getter 和 setter 方法。

我的观察是,任何 第二个字母大写(例如-sId:第一个字母(s)的属性都是小写和第二个字母()大写)eclipse正在生成以下格式的getter和setter

get+property name
set+property name

但是如果 属性的第二个字母是小写字母 eclipse 会生成以下格式的 getter 和 setter

get+1st letter in capital letter+ rest of the property name
set+1st letter in capital letter+ rest of the property name

即使属性的第一个字母是大写字母,eclipse 也会生成以下格式的 getter 和 setter

get+1st letter (which is already in capital) + rest of the property name
get+1st letter (which is already in capital) + rest of the property name

我不知道这是否是 Eclipse 错误(除了 Kepler,我也在 Eclipse Luna 中检查了相同的错误)但我想要属性 sId 的 getter 和 setter(第二个字母大写)应该像下面这样

get+1st letter in capital letter + rest of the property name
set+1st letter in capital letter + rest of the property name

Eclipse 中是否有任何选项可以修改 Eclipse 提供的默认 getter 和 setter 方法?

或者我无法使用任何设置修改Eclipse提供的默认getter和setter方法,我需要在eclipse生成后在源代码中手动进行。

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

    There is a bug report 不会被修复。在那里你可以看到讨论和决定的原因。

    要点是生成一个您想要的名称实际上会违反 Java Beans 规范,并且 Eclipse JDT 团队已决定遵守该规范比遵守某些约定更重要。你可以同意或不同意他们的重要性决定,但这是一个困难的第 22 条规则。

    【讨论】:

      【解决方案2】:

      据我所知你不能自定义它,但是你可以尝试在Window->Preferences->Java->Editor->Templates添加你自己的模板

      This 是您引用的错误

      【讨论】:

        猜你喜欢
        • 2013-11-06
        • 1970-01-01
        • 1970-01-01
        • 2014-12-20
        • 2011-02-07
        • 1970-01-01
        相关资源
        最近更新 更多