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

时间:2016-08-31 11:51:06

标签: java annotations lombok

官方文件说,我可以使用以下方法创建对象:

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

    private T x;
}

你可以通过写:Foo.of(5);来创建Foo的新实例;而不必写:new Foo(5);

这是学习lombak的示例方法。

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标记错误。 我在这里缺少什么。也许我需要刷新我的泛型概念,但我怎样才能创建一个“内部”类的对象。

1 个答案:

答案 0 :(得分:1)

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

我无法确定,因为您没有指定添加代码段的位置。