我正在一个新的Android项目(Java)上工作,并创建了一个具有大量变量的对象。由于我计划为所有这些类添加getter和setter,我想知道:在Eclipse中是否有自动生成给定类中的getter和setter的快捷方式?
在所需类的源代码窗口中调出上下文菜单(即右键单击)。然后选择Source子菜单;从菜单中选择Generate getter和Setters…将会出现一个向导窗口。
生成getter和setter…
选择要为其创建getter和setter的变量,然后单击OK。
确定。
从源菜单或选定字段或类型的上下文菜单或类型中的文本选择中使用生成getter和setter来打开对话框。生成getter和setter对话框显示了所选类型的所有字段的getter和setter。方法按类型的字段分组。
查看帮助文档了解更多信息。
右击->源->生成setter和getter
但为了更方便,我总是从Windows -> Preferences -> General -> Keys将其映射为ALT+SHIFT+G
是的。右键单击代码,你会看到一个菜单弹出;在Source, Generate Getters and Setters旁边你可以看到快捷键,在我的系统中是Alt+Shift+S和R。
类似地,您可以导航到该主菜单中的其他子菜单,通过键入适当的快捷方式,您可以直接进入子菜单而不是主上下文菜单,然后可以从菜单中选择或从列表中选择另一个字母。
右键单击-> generate getters and setters可以很好地完成工作,但如果你想在windows中的eclipse中创建一个键盘快捷方式,你可以遵循以下步骤:
进入窗口>首选项 进入“通用>键” “快速协助-为字段创建getter/setter”列表 在下面的“Binding”文本框中,按住所需的键(在我的例子中,我使用ALT + SHIFT + G) 点击应用,确定 现在,在Java编辑器中,选择要为其创建getter/setter方法的字段,并按下在步骤4中设置的快捷方式。在此窗口中单击ok以创建方法。
希望这能有所帮助!
我更喜欢先创建私有字段
private String field;
Eclipse将通过将光标定位在新变量上,按Ctrl + 1自动突出显示该变量。然后它将为您提供创建getter和setter的菜单。
我按下Ctrl + 1,因为它对我认为你接下来想要的东西更有智慧。
生成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
1)进入Windows->首选项->常规->按键
2)选择命令“Generate Getters and Setters”
3)在绑定中,按快捷键喜欢使用(如Alt+Shift+G)
4)单击apply,你就可以开始了
所有其他答案都只关注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
**在Eclipse Ide
用于生成setter和getter -> alt+shift+s+r然后alt A然后点击确定;
对于只生成getter ->alt+shift+s+r然后按g然后点击ok按钮;
对于只生成setter ->alt+shift+s+r然后按l然后点击ok按钮;**
有一个开源的jar可用,称为Lombok,你只需要添加jar,然后用@Getter和@Setter注释你的POJO,它会自动创建getter和setter。
除此之外,我们还可以使用其他功能,如@ToString,@EqualsAndHashCode和其他很酷的东西,这些功能可以从应用程序中删除普通代码
在Eclipse中打开类文件 双击类名或突出显示它 然后导航到源->插入代码 单击Getter和Setter
它会打开一个弹出窗口来选择要为其生成getter/setter方法的字段。选择字段并点击“生成”按钮。
对于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的“数据”类。你最终会写更少的代码行。
推荐文章
- 如何添加JTable在JPanel与空布局?
- Android-Facebook应用程序的键散列
- Statement和PreparedStatement的区别
- 登出时,清除活动历史堆栈,防止“返回”按钮打开已登录的活动
- 如何改变标题的活动在安卓?
- 为什么不能在Java中扩展注释?
- 在Java中使用UUID的最重要位的碰撞可能性
- 转换列表的最佳方法:map还是foreach?
- 如何分割逗号分隔的字符串?
- Java字符串—查看字符串是否只包含数字而不包含字母
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- Mockito.any()传递带有泛型的接口
- 在IntelliJ 10.5中运行测试时,出现“NoSuchMethodError: org.hamcrest. matcher . descripbemismatch”
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 使用String.split()和多个分隔符