1
如何将下列C#代码转换为Java?将C#泛型转换为Java泛型
private T GenericMethod<T>(String value)
{
return (T)Enum.Parse(typeof(T), value , true);
}
如何将下列C#代码转换为Java?将C#泛型转换为Java泛型
private T GenericMethod<T>(String value)
{
return (T)Enum.Parse(typeof(T), value , true);
}
无论你打电话给你的方法:
// C#
MyEnum value = TemplateMethod<MyEnum>("AnEnumValue");
在Java中,你可以做这样的:
// Java
MyEnum value = MyEnum.valueOf("AN_ENUM_VALUE");
如果你担心的情况下,如果你遵循Java约定使用大写枚举值,那么你可以这样做:
MyEnum value = MyEnum.valueOf(anEnumValue.toUpperCase());
为了将其封装在一个方法:
static <E extends Enum<E>> E parse(Class<E> enumType, String value) {
return (E)Enum.valueOf(enumType, value.toUpperCase());
}
这样称呼它:
MyEnum value = parse(MyEnum.class, anEnumValue);
首先改变你的方法签名如下:
private <T> T TemplateMethod(String value)
无论是C#还是Java有模板。编辑:编辑。 –