如何使用lombok生成标准访问器和流畅的访问器?
我试过这个。
@lombok.Getter @lombok.Setter @lombok.Accessors(chain = true, fluent = true) private String prop;
并且@Accessor
优先,并且不生成getProp
和setProp
。
我怎样才能让它产生这个?
public String getProp() { return prop; } public String prop() { //return prop; return getProp(); // wow factor } public void setProp(String prop) { this.prop = prop; } public Some prop(String prop) { //this.prop = prop; setProp(prop); // wow factor, again return this; }
不幸的是这不可能。 您需要实现自己的getter和setter,并添加@Getter @Setter和@Accessors(fluent = true)注释来实现此目的。
@Getter @Setter @Accessors(fluent = true) public class SampleClass { private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } }
结果你将有类如下:
public class SampleClass { private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } public int id(){ return id; } public void id(int id){ this.id=id; } }
我怕你不能。
来自doc (重点是我的):
@Accessors
注释用于配置@Accessors
生成和查找getter和setter的方式。
所以@Accessors
不生成任何东西,它只是一种配置@Getter
和@Setter
。
如果你真的想要流畅和常规的getter / setter,你可以添加(手动)常规的getter / setter,并让它们委托给流利的。