簡體   English   中英

將 C# 通用轉換為 Java 通用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM