【问题标题】:Strange autogenerated getter and setter in eclipseeclipse中奇怪的自动生成的getter和setter
【发布时间】:2011-08-31 22:32:31
【问题描述】:

当我在 Eclipse 中使用自动生成 getter/setter 的类字段时,它的名称类似于
String lAttr,它会生成:

public String getlAttr() {
  return lAttr;
}
public void setlAttr(String lAttr) {
  this.lAttr = lAttr;
}

字段的第一个字母不会大写!但是我使用的一些框架使用反射并通过使用“get”+大写的字段名称来调用 getter/setter。

我可以在 Eclipse 中更改 getter/setter 的代码生成以产生类似 getLAttr()setLAttr() 的输出吗?

【问题讨论】:

  • 这听起来像是 Eclipse 的一个错误。
  • 似乎只有在前缀中只有1个小写字符时才会发生。
  • Eclipse 根据 Java 约定生成 getter 和 setter 名称,请参阅 stackoverflow.com/questions/1991316/…

标签: java eclipse


【解决方案1】:

1) 我认为不可能,类似的讨论:

Change Eclipse Getters Setters syntax

2) 另一种选择是为 getter 和 setter 使用模板。虽然那里也有一个小问题,类似的讨论:

How to deal with Camel Case for Eclipse Templates?

【讨论】:

    【解决方案2】:

    可以在 Eclipse 中给出自己的 getter/setter 名称。 将您的变量设为私有。转到您尝试访问另一个类中的私有变量的错误。 选择生成 getter/setter 的快速修复。它会弹出一个对话框,其中 getter/setter 名称是可修改的。

    【讨论】:

      【解决方案3】:

      您使用的是什么版本的 Eclipse?我在 Eclipse 3.5.2 中尝试过,当我将鼠标悬停在该字段上并单击“为 'lAttr' 创建 getter 和 setter”时,出现的对话框允许我更改生成的名称,在本例中为 getlAttrgetLAttrsetlAttrsetLAttr。另一种选择是从一开始就将您的字段命名为 LAttr 并避免整个混乱。

      【讨论】:

      • 以大写开头的字段违反了 Java 约定。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      • 2011-11-05
      • 2010-09-13
      • 1970-01-01
      • 2017-11-05
      • 1970-01-01
      • 2012-05-12
      相关资源
      最近更新 更多