2010-10-03 78 views
4

給定具有以下結構的類。我試圖確定泛型方法的調用者分配的參數T的類型。在C#中我會使用「默認(T)」或「typeof(T)」,但我試圖用Java來做到這一點。有誰知道如何/如果我可以做到這一點?我並不需要一個實例,我只需要類定義。在運行時確定通用方法參數的類型

回答

4

你不能做到這一點。你可以做的是使方法簽名是這樣的:

public boolean isSupportable(Class<?> type) 

然後你可以使用給定的類來檢查類型。

1

不能,泛型在運行時不可用。如果您有T的實例,則可以始終檢查T object是否爲instanceof的特定類的實例。

這是由於type erasure

的另一種方法是使用Class類作爲參數(見@ ColinD的answer

相關問題