我正在一个新的Android项目(Java)上工作,并创建了一个具有大量变量的对象。由于我计划为所有这些类添加getter和setter,我想知道:在Eclipse中是否有自动生成给定类中的getter和setter的快捷方式?


当前回答

右键单击-> generate getters and setters可以很好地完成工作,但如果你想在windows中的eclipse中创建一个键盘快捷方式,你可以遵循以下步骤:

进入窗口>首选项 进入“通用>键” “快速协助-为字段创建getter/setter”列表 在下面的“Binding”文本框中,按住所需的键(在我的例子中,我使用ALT + SHIFT + G) 点击应用,确定 现在,在Java编辑器中,选择要为其创建getter/setter方法的字段,并按下在步骤4中设置的快捷方式。在此窗口中单击ok以创建方法。

希望这能有所帮助!

其他回答

右击->源->生成setter和getter

但为了更方便,我总是从Windows -> Preferences -> General -> Keys将其映射为ALT+SHIFT+G

生成getter和setter的方法-

1)按Alt+Shift+S,然后R 2)右击->源->生成getter和setter 3)转到源菜单->生成getter和setter 4)转到Windows菜单->首选项->通用->键(在文本字段上写生成getter和Setters) 5)点击字段的错误灯泡->创建getter和setter… 6)按Ctrl+3和写getter和setter文本字段,然后选择选项生成getter和setter

如果Mac操作系统按Alt+cmd+S然后选择getter和Setters

对于pojo使用Project Lombok或更好的Kotlin。

(同时,将Kotlin添加到你的简历中;))

这样的:

public class BaseVO {
    protected Long id;

    @Override
    public boolean equals(Object obj) {
        if (obj == null || id == null)
            return false;

        if (obj instanceof BaseVO)
            return ((BaseVO) obj).getId().equals(id);

        return false; 
    }

    @Override
    public int hashCode() {
        return id == null ? null : id.hashCode();
    }
    // getter setter here
}

public class Subclass extends BaseVO {
    protected String name;
    protected String category;
    // getter setter here
}

会变成这样:

open class BaseVO(var id: Long? = null) {

    override fun hashCode(): Int {
        if (id != null)
            return id.hashCode()

        return super.hashCode()
    }

    override fun equals(other: Any?): Boolean {
        if (id == null || other == null || other !is BaseVO)
            return false

        return id.hashCode() == other.id?.hashCode()
    }
}

@Suppress("unused")
class Subclass(
        var name: String? = null,
        var category: String? = null
) : BaseVO()

或者使用Kotlin的“数据”类。你最终会写更少的代码行。

**在Eclipse Ide

用于生成setter和getter -> alt+shift+s+r然后alt A然后点击确定;

对于只生成getter ->alt+shift+s+r然后按g然后点击ok按钮;

对于只生成setter ->alt+shift+s+r然后按l然后点击ok按钮;**

所有其他答案都只关注IDE级别,这些都不是生成getter和setter的最有效和优雅的方式。 如果您有数十个属性,相关的getter和setter方法将使您的类代码非常冗长。

我使用过的自动生成getter和setter的最好方法是在java项目中使用项目lombok注释,lombok.jar将在编译java代码时生成getter和setter方法。

您只需关注类属性/变量的命名和定义,lombok将完成其余的工作。这很容易维护您的代码。

例如,如果你想为age变量添加getter和setter方法,你只需要添加两个lombok注释:

@Getter @Setter 
public int age = 10;

它等于这样的代码:

private int age = 10;
public int getAge() {
    return age;
}
public void setAge(int age) {
    this.age = age;
}

您可以在这里找到关于lombok的更多详细信息:Project lombok