gpt4 book ai didi

java - 将 Class 与不可变对象(immutable对象)一起使用

转载 作者:行者123 更新时间:2023-12-05 05:49:06 25 4
gpt4 key购买 nike

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

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

immutables 生成的构建器不接受这个

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

因为它需要一个 Class。如何让构建器接受 String.class?

用@Value.Parameter 注释类型很好地创建了一个有效的方法

ImmutableValue.of(String.class)...

但结果是一个实例,而不是一个构建器,所以只能使用 withers 设置后续值。

最佳答案

您可以使用 type witness 推断类型.

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

关于java - 将 Class<T> 与不可变对象(immutable对象)一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70709286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com