gpt4 book ai didi

Java - 从字符串中解析枚举的通用函数

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

我需要创建一个通用函数来解析字符串中的枚举,但我不确定要使用的语法。

这不起作用,但它说明了我想做的事情:

public <E extends Enum<E>> getEnum( some params, <E extends Enum<E>> defaultVal )
{
// Some stuff

return E.valueOf( enumAsString );
}

请问我的语法有什么问题吗?谢谢:)

编辑:另外我该如何使用它?在 C++ 中我会做 SomeEnum e = getEnum<SomeEnum>( ... );

编辑:

enum EnumA
{
A_A, A_B, A_C
};

enum EnumB
{
B_A, B_B, B_C
};

我想做:

String enumAsStr = "A_B";
EnumA ea = getEnum< EnumA >( enumAsStr, "A_A" );

enumAsStr = "B_C";
EnumB eb = getEnum< EnumB >( enumAsStr, "B_A" );

最佳答案

你可以做类似的事情

public <E extends Enum<E>> E getEnum( String text, Class<E> klass){
return Enum.valueOf(klass, text );
}

例如,如果有一个枚举字母

public enum Letter { A, B, C}

你可以这样使用它:

Letter someLetter = getEnum("A", Letter.class);
System.out.println(someLetter); //A

关于Java - 从字符串中解析枚举的通用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25487619/

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