将类<T>与不可变对象一起使用



我正在试用immutables.org库。我需要的是能够指定一个类,所以我定义了

@Value.Immutable
public interface Value<T> {
Class<T> getType();
}

免疫表生成的生成器不接受此

ImmutableValue.builder().type(String.class)...

因为它期望类<对象>。如何让生成器接受String.class?

用@Value.Parameter注释类型很好地创建了一个工作于的of方法

ImmutableValue.of(String.class)...

但结果是一个实例,而不是一个构建器,因此只能使用枯萎来设置后续值。

您可以使用类型见证来推断类型。

public class ImmutableExample {
public static void main(String[] args) {
ImmutableValue immutableValue = ImmutableValue.<String>builder()
.type(String.class).build();
System.out.println(immutableValue.getType());
}
}

最新更新