給定具有以下結構的類。我試圖確定泛型方法的調用者分配的參數T的類型。在C#中我會使用「默認(T)」或「typeof(T)」,但我試圖用Java來做到這一點。有誰知道如何/如果我可以做到這一點?我並不需要一個實例,我只需要類定義。在運行時確定通用方法參數的類型
4
A
回答
4
你不能做到這一點。你可以做的是使方法簽名是這樣的:
public boolean isSupportable(Class<?> type)
然後你可以使用給定的類來檢查類型。
1
不能,泛型在運行時不可用。如果您有T的實例,則可以始終檢查T object
是否爲instanceof
的特定類的實例。
這是由於type erasure。
的另一種方法是使用Class
類作爲參數(見@ ColinD的answer)
相關問題
- 1. 運行時通用類型確定
- 2. 如何確定在C/C++運行時在.NET下的方法參數類型?
- 3. 在非通用類在運行時確定泛型類型
- 4. 通過類型參數在運行時
- 5. 通用方法與運行時類型
- 6. C# - 在泛型方法使用運行時定義的類型作爲參數
- 7. 使用在運行時確定的類型參數調用泛型函數
- 8. 在運行時確定一個通用類的類型
- 9. 在運行時指定通用委託類型參數
- 10. Jython:確定Java方法在運行時需要的參數數
- 11. 在運行時確定對象類型的最佳方法
- 12. 在運行時確定的泛型類型調用非泛型方法c#
- 13. 在運行時設置通用類的類型和參數
- 14. CIFilter在運行時確定inputKey參數類型
- 15. 功能參數類型在運行時確定?
- 16. Java通用方法在運行時轉換爲參數類型,有可能嗎?
- 17. 通用類型的運行方法
- 18. 運行時類型參數
- 19. 創建運行時確定類型實例的最佳方法
- 20. 在運行時供應方法類型參數化中的結構類型?
- 21. 在運行時確定協議類型
- 22. 通用類型作爲方法參數
- 23. Java通用方法類型參數
- 24. 通用方法 - 參數類型鑄造
- 25. 通用類型作爲方法參數
- 26. 在運行時創建的類型參數的泛型類型
- 27. 運行時間確定C的類型
- 28. 使用參數安全調用多次調用通用方法(運行時返回類型)的最佳方法
- 29. 使用運行時類型的泛型類型的方法
- 30. 運行時類型VS編譯時類型的方法調用