gpt4 book ai didi

java - Java 枚举反射

转载 作者:行者123 更新时间:2023-12-01 14:21:33 25 4
gpt4 key购买 nike

我知道我的用例看起来很愚蠢,但这是解释我需要什么的最简单方法,所以在这里

假设我想编写以下愚蠢的通用方法:

void toString(Object o);

Object fromString(String enumObject,Class<Enum> classOfTheObject);

给定:

public enum PositionType 
{
B,
F,
L,
R
}

和:

PositionType ptype = PositionType.B;

我如何继续并实现这些方法,以便:

fromString(toString(ptype),PositionType.class).equals(PositionType.B);

会返回true吗?

我尝试查看 java reflections tutorial ,但我仍然没有找到如何解决它......

请注意,实现不能依赖于特定的枚举类型,它可以是任何枚举类型,但根据我的需要,我们可以将自己限制为仅枚举对象。

最佳答案

您可以通过许多解决方案来实现这一目标,这是其中之一(我写了严格的最低限度):

String toString(Object o) {
return ((Enum) o).name();
}

<T extends Enum<T>> Object fromString(Class<T> enumType, String o) {
return Enum.valueOf(enumType, o);
}

关于java - Java 枚举反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17507721/

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