注解类型 With


@Target({FIELD,TYPE}) @Retention(SOURCE) public @interface With
放在任何字段上,使 lombok 构建一个 'with' - 一个 withX 方法,该方法生成此对象的克隆(除了一个字段获得新值之外)。

完整文档请参见 @With 的 project lombok 功能页面

示例

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

此注解也可以应用于类,在这种情况下,它就像所有尚未具有 With 注解的非静态字段都具有该注解一样。

  • 嵌套类概要

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

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

    • value

      如果您希望您的 with 方法是非公开的,您可以在此处指定一个备用访问级别。
      返回值
      该方法将使用此访问修饰符生成。
      默认值
      PUBLIC
    • onMethod

      With.AnyAnnotation[] onMethod
      此处列出的任何注解都放在生成的方法上。此功能的语法取决于 JDK 版本(我们对此无能为力;这是为了解决 javac 错误)。
      JDK7 及以下版本
      @With(onMethod=@__({@AnnotationsGoHere}))
      JDK8 及以上版本
      @With(onMethod_={@AnnotationsGohere}) // 注意 onMethod 后的下划线。
      返回值
      要应用于生成的方法的注解列表。
      默认值
      {}
    • onParam

      此处列出的任何注解都放在生成的方法的参数上。此功能的语法取决于 JDK 版本(我们对此无能为力;这是为了解决 javac 错误)。
      JDK7 及以下版本
      @With(onParam=@__({@AnnotationsGoHere}))
      JDK8 及以上版本
      @With(onParam_={@AnnotationsGohere}) // 注意 onParam 后的下划线。
      返回值
      要应用于方法中生成的参数的注解列表。
      默认值
      {}