我正在使用 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 and setsId)。
Eclipse 正在为属性 uid 创建所需的 getter 和 setter 方法。
我的观察是任何第二个字母大写(例如-sId:第一个字母(s)是小写和第二个字母( I) 大写)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生成后在源代码中手动修改。
最佳答案
There is a bug report为此,它不会被修复。在那里你可以看到讨论和决定的原因。
要点是,生成您想要的名称实际上会违反 Java Beans 规范,并且 Eclipse JDT 团队已决定遵守该规范比遵守某些约定更重要。你可以同意或不同意他们对那个重要决定的看法,但这是一个困难的第 22 条军规。
关于java - 修改Eclipse默认提供的getter和setter方法有哪些设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31610676/