官方文件说,我可以使用以下方法创建对象:
@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标记错误。 我在这里缺少什么。也许我需要刷新我的泛型概念,但我怎样才能创建一个“内部”类的对象。
答案 0 :(得分:1)
也许您应该使用val obj = DataAnnot.inner.of("object");
?
我无法确定,因为您没有指定添加代码段的位置。