编辑具有前缀"has"的布尔成员的lombok getter方法名称

mwK*_*ART 11 java lombok java-8

hasObject在lombok中有一个生成的布尔变量isHasObject().我正在使用@Datalombok注释.如何将方法更改为hasObject()

Dai*_*jan 12

在你的情况下,它可能是:

 class XY : Object {
      @Getter(fluent = true)
      public boolean hasObject;
 }
Run Code Online (Sandbox Code Playgroud)

要么

 @Accessors(fluent = true)
 class XY : Object {
      public boolean hasObject;
 }
Run Code Online (Sandbox Code Playgroud)

根据文件:

流利 - 布尔值.如果是真的,辣椒的吸气剂只是胡椒(),而产品是辣椒(T newValue).此外,除非指定,否则链默认为true.默认值:false.

  • @Getter( Fluent = true) 无法编译 (8认同)
  • 主要问题是它不仅仅适用于一个变量:-/ `@Getter(fluence=true)` 不适用于 1.18.6.0 并且 `@Accessor` 影响了整个类 (2认同)

小智 8

像这样:

 @Data
 class ExampleClass {
     
      private Object data;

      @Accessors(fluent = true)
      private boolean hasObject;
 }
Run Code Online (Sandbox Code Playgroud)

这将提供getData()方法hasObject()


mwK*_*ART 6

我从龙目岛如何为布尔对象字段自定义获取方法中找到了帮助。这样,我将拥有不断变化的访问者级别和古老的代码获取方式,

@Getter(AccessLevel.NONE) private boolean hasObject;

public boolean hasObject() {
    return hasObject;
}
Run Code Online (Sandbox Code Playgroud)

我将继续公开这个问题。这是更改getter方法名称的唯一方法,否则我将等待更好的建议。


Ben*_*min 6

结合AccessorsGetter,您可能会得到以下内容:

 class ExampleClass {
      @Accessors(fluent = true)
      @Getter
      private boolean hasObject;
 }
Run Code Online (Sandbox Code Playgroud)

相当于 Vanilla Java:

class ExampleClass {
    
    private boolean hasObject;

    public hasObject() {
        return hasObject;
    }
Run Code Online (Sandbox Code Playgroud)

这就是你想要的,我猜。