我正在一个新的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的“数据”类。你最终会写更少的代码行。
其他回答
生成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
我更喜欢先创建私有字段
private String field;
Eclipse将通过将光标定位在新变量上,按Ctrl + 1自动突出显示该变量。然后它将为您提供创建getter和setter的菜单。
我按下Ctrl + 1,因为它对我认为你接下来想要的东西更有智慧。
在所需类的源代码窗口中调出上下文菜单(即右键单击)。然后选择Source子菜单;从菜单中选择Generate getter和Setters…将会出现一个向导窗口。
生成getter和setter…
选择要为其创建getter和setter的变量,然后单击OK。
确定。
从源菜单或选定字段或类型的上下文菜单或类型中的文本选择中使用生成getter和setter来打开对话框。生成getter和setter对话框显示了所选类型的所有字段的getter和setter。方法按类型的字段分组。
查看帮助文档了解更多信息。
按下Alt + Shift + S + R……然后只选择你必须生成getter或setter或两者的所有字段
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 碎片中的onCreateOptionsMenu
- 如何配置slf4j-simple
- 在Jar文件中运行类
- 带参数的可运行?
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?