gpt4 book ai didi

java - 将类 转换为类

转载 作者:行者123 更新时间:2023-12-02 01:24:56 24 4
gpt4 key购买 nike

我有一个对象,我正在使用反射来创建类对象。

我正在尝试将枚举字段转换为其 valueOf,但我不知道它是什么枚举类。

目前,我只是像这样检查对象是否是每个 Enum:

Class<?> t = obj.getType();

if (t == MyEnumA.class) {
value = MyEnumA.valueOf(v)
} else if (t == MyEnumB.class) {
value = MyEnumB.valueOf(v)
} else if ...

我目前有几个不同的 Enum 类,当我添加更多时,我必须为那个新 Enum 添加一个新的 else-if block 。

我想使用这样的东西:

if (t.isEmun()) {
value = Enum.valueOf(t, v);
}

但是我有一个错误:

Required type: Class<T>
Provided type: Class<capture of ?>

如何转换我的 Class<capture of ?>Class<T>

最佳答案

您可以使用 asSubclass() 安全地转换:

value = Enum.valueOf(t.asSubclass(Enum.class), v);

关于java - 将类 <capture of ?> 转换为类 <T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74944653/

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