2011-08-31 30 views
4

当我使用自动生成的的getter/setter在Eclipse中的一个类别字段与名称类似
String lAttr会产生这样的:奇怪的自动生成的getter和setter

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

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

我可以更改eclipse中getter/setter的代码生成以产生如getLAttr()setLAttr()的输出吗?

+0

这听起来像一个日食的bug。 –

+0

它似乎只发生在前缀中只有一个小写字符时。 – user802421

+1

Eclipse根据Java约定创建了getter和setter名称,请参阅http://stackoverflow.com/questions/1991316/where-is-the-javabean-property-naming-convention-defined – xmedeko

回答

0

您使用的是哪个版本的Eclipse?我在Eclipse 3.5.2中尝试了这一点,当我对该字段进行挖掘并单击“为'lAttr'创建getter和setter'”时,出现的对话框允许我将生成的名称从getlAttr更改为getLAttrsetlAttrsetLAttr。另一种选择是从一开始就将您的字段LAttr命名并避免整个混乱。

+0

以大写字母开头的字段正在打破Java约定。 – xmedeko

2

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

相关问题