Eclipse为域对象和带有'm'后缀的类成员生成getter / setter

时间:2013-01-03 17:00:25

标签: java eclipse code-generation

我对我的域对象中生成的getter和setter方法有一个小问题。 我想为我的源代码使用一个通用的样式指南。该样式指南的一部分说我开始使用前缀'm'作为成员的每个类成员名称。

class User{
String mName;
List<Call> mAllCall;
List<Geo> mAllGeo;

不幸的是,我有几个有更多成员变量的类。我遇到的问题是我是一个非常懒惰的开发人员,我在Eclipse中使用

创建getter和setter方法
  

“来源” - &gt;“生成获取者和设置者”。

结果是

public String getmName() {
    return mName;
}
public void setmName(String mName) {
    this.mName = mName;
}
public List<Call> getmAllCall() {
    return mAllCall;
}
public void setmAllCall(List<Call> mAllCall) {
    this.mAllCall = mAllCall;
}
public List<Geo> getAllGeo() {
    return mAllGeo;
}
public void setmAllGeo(List<Geo> mAllGeo) {
    this.mAllGeo = mAllGeo;
}

这不是我想要的结果。我需要这个:

public String getName() {
    return mName;
}
public void setName(String pName) {
    this.mName = pName;
}
public List<Call> getAllCall() {
    return mAllCall;
}
public void setAllCall(List<Call> pAllCall) {
    this.mAllCall = pAllCall;
}
public List<Geo> getAllGeo() {
    return mAllGeo;
}
public void setmAllGeo(List<Geo> pAllGeo) {
    this.mAllGeo = mAllGeo;
}

我目前手动删除并替换方法名称中的前缀。有更简单的方法吗?

3 个答案:

答案 0 :(得分:24)

对于前缀m,您可以将字母m添加到 Java代码样式中的前缀列表中。

请按照以下步骤操作:

  1. 打开偏好设置
  2. 左侧面板中的
  3. ,展开 Java
  4. 展开代码样式
  5. 右侧面板是您现在应该查看的位置
  6. 您将看到包含字段,静态字段等的列表。这是您需要修改的内容。

    针对字段设置m

    针对参数设置p

    由于该字段的名称现在将与参数名称不同,因此将不再自动添加this.限定。但是,您可以选中使用'this'确认所有生成的字段访问权限。以重新获得该选项。

    我想您知道窗口左上角和右侧的启用项目特定设置配置工作区设置... 之间的区别?

答案 1 :(得分:3)

我根本不喜欢这个主意,但是......

你可以编写没有前缀m的成员,让Eclipse创建getter和setter,然后重命名成员(Shift-Alt-R); Eclipse将更改引用,但不会(除非您明确告诉它)getter / setters签名。

答案 2 :(得分:1)

getter和setter方法的名称来自字段名称。如果对字段使用前缀或后缀(例如fValue,_value,val_m),则可以在“代码样式”首选项页面中指定后缀和前缀(Windows&gt;首选项&gt; Java&gt;代码样式)。

here

的参考资料