我正在一个新的Android项目(Java)上工作,并创建了一个具有大量变量的对象。由于我计划为所有这些类添加getter和setter,我想知道:在Eclipse中是否有自动生成给定类中的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的“数据”类。你最终会写更少的代码行。
其他回答
有一个开源的jar可用,称为Lombok,你只需要添加jar,然后用@Getter和@Setter注释你的POJO,它会自动创建getter和setter。
除此之外,我们还可以使用其他功能,如@ToString,@EqualsAndHashCode和其他很酷的东西,这些功能可以从应用程序中删除普通代码
**在Eclipse Ide
用于生成setter和getter -> alt+shift+s+r然后alt A然后点击确定;
对于只生成getter ->alt+shift+s+r然后按g然后点击ok按钮;
对于只生成setter ->alt+shift+s+r然后按l然后点击ok按钮;**
确定。
从源菜单或选定字段或类型的上下文菜单或类型中的文本选择中使用生成getter和setter来打开对话框。生成getter和setter对话框显示了所选类型的所有字段的getter和setter。方法按类型的字段分组。
查看帮助文档了解更多信息。
是的。右键单击代码,你会看到一个菜单弹出;在Source, Generate Getters and Setters旁边你可以看到快捷键,在我的系统中是Alt+Shift+S和R。
类似地,您可以导航到该主菜单中的其他子菜单,通过键入适当的快捷方式,您可以直接进入子菜单而不是主上下文菜单,然后可以从菜单中选择或从列表中选择另一个字母。
在Eclipse中打开类文件 双击类名或突出显示它 然后导航到源->插入代码 单击Getter和Setter
它会打开一个弹出窗口来选择要为其生成getter/setter方法的字段。选择字段并点击“生成”按钮。
推荐文章
- Android Studio, logcat在应用程序关闭后清理
- Intellij IDEA Java类在保存时不能自动编译
- 何时使用Mockito.verify()?
- 在maven中安装mvn到底做什么
- 在android中从上下文获取活动
- 不可变与不可修改的集合
- 如何在JSON中使用杰克逊更改字段名
- GSON -日期格式
- 如何从线程捕获异常
- 无法解析主机"<URL here>"没有与主机名关联的地址
- getActivity()在Fragment函数中返回null
- 如何在Java中打印二叉树图?
- 按钮背景是透明的
- String.format()在Java中格式化双重格式
- 在Mac OS X上哪里安装Android SDK ?