回答
Class<?>
引用Class的任何實例。與Class<? extends Collection>
相比,這將把標準縮小到有限的一組類別(那些延伸Collection
)。
調用方法如newInstance
時,這一點尤爲重要。如果您有Class<?> a
並致電a.newInstance()
,您將獲得Object
。如果您有Class<? extends Collection>
並致電b.newInstance()
,您將獲得Collection
的實例。
謝謝您的解釋。我還有一個後續問題:爲什麼不簡單地使用Class作爲返回類型而不是類> – user1700440
我想我已經知道那個答案了。由於我們想要更精確地定義某些Class方法(例如newInstance)的返回類型,因此Class使用通配符類型?進行了參數化。 – user1700440
你是對的:'Class'和'Class >'是同義詞,但'類>'更準確 - 它告訴讀者你實際上已經考慮過它可能是什麼樣的'Class'。 –
它只是返回一個類的實例。 ?
參數代表通用通配符對象,即它是任何類型的類。
該方法返回一個Class
對象。 ?
表示它可以是任何類型的類。你可以閱讀更多關於通配符here。這些Class
對象通常用於處理reflection。
- 1. Java泛型類型參數
- 2. Java類型參數類參數
- 3. java數組參數類型
- 4. Java類型參數VS參數
- 5. Java參數類型錯誤
- 6. Java列表類型參數
- 7. Java類型參數混淆
- 8. 作爲Java參數中的參數的泛型類型
- 9. HashMap中的Java有界類型參數
- 10. Java中的逆變類型參數?
- 11. Java中的枚舉類型參數
- 12. Java中的嵌套類型參數
- 13. Java中的惰性參數類型?
- 14. 參數化Java中的原始類型
- 15. Java的泛型參數化類型
- 16. 與Java泛型類型參數
- 17. Java的泛型獲得類型參數
- 18. Java的泛型施放參數類型
- 19. java泛型類型參數接口
- 20. Java泛型,嵌套類型參數
- 21. Java泛型類型參數隱藏
- 22. java類型參數的類名?
- 23. 如何通過參數泛型類型類在Java中
- 24. 參數化類型的類型參數
- 25. 鑄造Java對象泛型類型與已知類型參數
- 26. Java泛型 - 類型參數字符串被隱藏String類型
- 27. Java泛型 - 原始類型和參數化類型轉換
- 28. 對象的Java Pass實例類型到泛型類型參數
- 29. 作爲超類構造函數中的參數類型的子類型java
- 30. Java泛型參數與泛型參數
另請參閱http://en.wikipedia.org/wiki/Generics_in_Java – klonq