如何使用lombok生成标准访问器和流畅的访问器?

我试过这个。

@lombok.Getter @lombok.Setter @lombok.Accessors(chain = true, fluent = true) private String prop; 

并且@Accessor优先,并且不生成getPropsetProp

我怎样才能让它产生这个?

 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,并让它们委托给流利的。