注解类型 Wither


@Target({FIELD,TYPE}) @Retention(SOURCE) public @interface Wither
已过时。
With 已被提升到主包,请使用它来代替。
放在任何字段上,可以让 lombok 构建一个 'wither' - 一个 withX 方法,此方法会生成此对象的克隆(除了一个字段会获得新值)。

完整文档请见 关于 @Wither 的 Lombok 项目特性页面

即使没有列出,此注解也具有 onParamonMethod 参数。 更多详情请见完整文档。

示例

     private @Wither final int foo;
 
将会生成
     public SELF_TYPE withFoo(int foo) {
         return this.foo == foo ? this : new SELF_TYPE(otherField1, otherField2, foo);
     }
 

此注解也可以应用于类,在这种情况下,它会像所有没有 Wither 注解的非静态字段都拥有此注解一样。

  • 嵌套类摘要

    嵌套类
    修饰符和类型
    描述
    static @interface 
    已过时。
    永远不要使用此注解 - 阅读文档。
  • 可选元素摘要

    可选元素
    修饰符和类型
    可选元素
    描述
    已过时。
    此处列出的任何注解都会放在生成的方法上。
    已过时。
    此处列出的任何注解都会放在生成的方法的参数上。
    已过时。
    如果您希望您的 wither 方法不是 public 的,您可以在此处指定一个备选的访问级别。
  • 元素详情

    • value

      已过时。
      如果您希望您的 wither 方法不是 public 的,您可以在此处指定一个备选的访问级别。
      返回
      生成的方法将使用此访问修饰符。
      默认值
      PUBLIC
    • onMethod

      已过时。
      此处列出的任何注解都会放在生成的方法上。 此特性的语法取决于 JDK 版本(对此我们无能为力;这是为了解决 javac 的 bug)。
      直到 JDK7
      @Wither(onMethod=@__({@AnnotationsGoHere}))
      从 JDK8 开始
      @Wither(onMethod_={@AnnotationsGohere}) // 注意 onMethod 后的下划线。
      返回
      应用于生成方法的注解列表。
      默认值
      {}
    • onParam

      已过时。
      此处列出的任何注解都会放在生成的方法的参数上。 此特性的语法取决于 JDK 版本(对此我们无能为力;这是为了解决 javac 的 bug)。
      直到 JDK7
      @Wither(onParam=@__({@AnnotationsGoHere}))
      从 JDK8 开始
      @Wither(onParam_={@AnnotationsGohere}) // 注意 onParam 后的下划线。
      返回
      应用于方法中生成的参数的注解列表。
      默认值
      {}