Lombok 和 Java 静态构造函数对象创建

Lombok And Java Static Constructor Object Creation

官方文档说我可以通过以下方法创建对象:

 @Data(staticConstructor = "of")
class Foo<T> {

    private T x;
}

您可以通过编写以下内容来创建 Foo 的新实例:Foo.of(5);而不是必须写:new Foo(5);

这是学习 lombok 的示例方法。

package com.lombok.first;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.val;
@Data public class DataAnnot {
          @Getter @Setter private String name;
          private final int salary;
          
          
          
          @ToString(includeFieldNames=true)
          @Data(staticConstructor="of")
          public static class inner<T>{
          private T tally;
         }
          
          
     public static void main(String agrs[]){
     DataAnnot d= new DataAnnot(8);
     
     System.out.println(d);
   }
}

但是当我添加行时

 val obj= inner.of("object"); 
 System.out.println(d);

Eclipse 标记错误。 我在这里错过了什么?也许我需要刷新我的泛型概念,但我如何创建一个“内部”对象 class?

也许你应该使用 val obj = DataAnnot.inner.of("object");

我不能确定,因为您没有指定添加代码片段的位置。