[英]Convert C# generic into Java generic
如何將以下 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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.