为所有对象添加getter和setter方法非常困难有没有简单的方法呢?我们可以为它创建一个界面或注释吗?
REQUEST_URI
我希望private String name;
public void setName(String name) {this.name = name;}
public String getName() {return name;}
我知道Eclipse和IDEA会轻松生成我希望我的代码看起来干净的东西我不想让我的行数x * 5更多。
答案 0 :(得分:3)
您可以尝试使用lombok库。通过使用它,您可以避免编写getter,setter,hashCode,toString方法。一个典型的例子看起来如下。
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@EqualsAndHashCode()
@ToString
public class Employee {
@Getter @Setter private int id;
@Getter @Setter private String firstName;
@Getter @Setter private String lastName;
@Getter @Setter private int age;
}
你可以参考 https://projectlombok.org/
有关示例,请参阅此link
答案 1 :(得分:1)
如果你使用intelliJ,你可以使用键盘快捷键,它并不难。 只需按Alt +插入,选择getter和setter然后就完成了!
答案 2 :(得分:1)
如果您不想使用inteliJ特殊功能或外部库,您必须编写自己的注释处理器,它将处理示例setter和getter的注释(例如:@Get,@设定)。
但是在定义两个注释时,您必须记住特殊类型的元注释:
var obj = {
a: "foo",
b: obj
};
var circular_replacer = (value) => {
var seen = [];
if (value != null && typeof value == "object") {
if (seen.indexOf(value) >= 0) return;
seen.push(value);
}
return value;
};
obj = circular_replacer(obj);
因为没有这个RetentionPolicy你的getter&setter的注释在最终的程序中不可用!
您使用两个注释上的反射编写的注释处理器。
如果您不想编写此处理器,您甚至可以使用默认的JDK。
干杯,gjm