在C#中,我可以使用下面的简单方法
public class Dummy
{
public string Name { get; set; }
}
但如果我使用java做同样的事情,我必须这样做
public class Dummy {
private String _name;
public void setName(String value) {
this._name = value;
}
public String getName() {
return this._name;
}
}
所以,你可以知道至少7行代码与c#中的1行代码具有相同的效果; 所以,我想知道java中有一个简单的方法可以用来简单设置字段或获取字段吗?
thx for advanced
答案 0 :(得分:3)
Java不支持该特定的C#习惯用法,但是许多IDE包含生成访问器和变换器的方法;例如,在eclipse中你可以选择
来源,生成Getters和Setter
或
SHIFT - ALT - s r
答案 1 :(得分:1)
该语言没有任何内置功能,但您始终可以使用Project Lombok的注释集在编译时为您生成getter和setter。
特别是@Data
非常强大 - 它会生成你的getter,setter和toString()
方法。
以下是一个例子:
import lombok.Data;
@Data
public class Node<T extends Comparable<T>> {
private final T data;
private Node<T> left = null;
private Node<T> right = null;
public Node(final T theData) {
data = theData;
}
public void add(final Node<T> theNode) {
if(data.compareTo(theNode.getData()) <= 0) {
// goes to the left
left = theNode;
} else {
// goes to the right
right = theNode;
}
}
}
您可能必须为IDE安装一个插件,以识别它是在编译时生成的,但这会处理所有setter和getter样板代码。
答案 2 :(得分:0)
这是特定于语言的,你不能再期待了。
有一种更简单的方法可以通过点击来创建get / set:
在eclipse编辑器上,右键单击打开菜单\ Source \ Generate Getters and Setters
- &gt;选择你想要获取和设置的属性。