2017-04-18 33 views
-2

在查看一些代碼時,我發現存在以下類型的語法。什麼是保護<T> T function()是指?

protected <T> T Execute(Class<T> returnType){ 
    T t; 
    return t; 
    } 

這是什麼意思?如果我想將結果保存在其他類的某個變量中,該怎麼辦?

+1

你想知道什麼是Java中的泛型類型? – Beri

+0

比你提供的泛型作爲正確的類型,你的變量想要擁有的一個,並稱之爲? – SomeJavaGuy

+0

閱讀https://docs.oracle.com/javase/tutorial/extra/generics/methods.html – Jens

回答

1

您可以使用newInstance() method

protected <T> T execute(Class<T> returnType) { 
    T t = returnType.newInstance(); 
    return t; 
    } 

但你必須處理

InstantiationException, IllegalAccessException 

雖然這是創建新的對象,AbstractFactory將是一個更好的解決方案奇怪的,不想要的方式。

2

類型參數已添加到java.lang.Class中,以啓用Class對象的一個​​特定用途作爲類型安全的對象工廠。本質上,添加允許實例類的類型安全的方式,像這樣:

T instance = myClass.newInstance(); 

How to use Class<T> in Java?

相關問題