2011-07-08 226 views
1

如何將下列C#代碼轉換爲Java?將C#泛型轉換爲Java泛型

private T GenericMethod<T>(String value) 
{ 
    return (T)Enum.Parse(typeof(T), value , true); 
} 
+0

無論是C#還是Java有模板。編輯:編輯。 –

回答

4

無論你打電話給你的方法:

// 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);  
1

首先改變你的方法簽名如下:

private <T> T TemplateMethod(String value)