[英]Need to create different class depending on type in Generic class
我正在使用為不同結構生成不同類的工具
例如,它可能會創建兩個這樣的類
class TypeSupportImpl {
void callme()
{
System.out.println("I an here");
}
void test()
{
}
}
public class StringReader extends TypeSupportImpl
{
void callme()
{
System.out.println("HelloReader an here");
}
void test()
{
}
public static String get_name() {
String s = "hello";
return s ;
}
}
public class HelloReader extends TypeSupportImpl
{
void callme()
{
System.out.println("HelloReader an here");
}
void test()
{
}
public static String get_name() {
String s = "hello";
return s ;
}
}
現在,我想為此類編寫一個通用包裝。 我希望通用包裝器以如下方式運行:如果用戶將Hello
傳遞為類型,則應創建Helloreader
對象。 如果用戶使用String
低音,則應創建一個StringReader
對象。
public class TestCode<T > {
//if T= Hello
HelloReader.get_name();
//if T== String
StringReader.get_name()
}
您能建議不使用反射的最佳方法嗎?
即使反射,您也無法做到。 類型擦除意味着在運行時,您將看不到類型參數是什么,即使將其作為參數傳遞(請參閱EnumSet
的構建器),也必須使用反射,因為static
元素在編譯時綁定到特定類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.