在此gwt javadoc頁面http://www.gwtproject.org/javadoc/latest/com/google/gwt/core/client/GWT.htmljava.lang.Class<?>
作爲參數傳遞給create函數。這是如何有效的?..我可以理解create(List<Class> classLiteral)
或create(java.lang.Class classLiteral)
之類的東西,但它在那裏的使用方式會讓我很困惑。澄清值得讚賞java.lang.Class和泛型
0
A
回答
4
java.lang.Class<?>
是實例的完整類型聲明。它相當於
import java.lang.Class;
...
static <T> T create(Class<?> classLiteral) ...
他們只是被在Javadoc徹底。 java.lang.Class
是一個表示類的java類。你可以閱讀它的javadoc here。
您可以
YourClass.class // where class is a reserved java keyword will return an instance of type Class<YourClass>
訪問類的Class對象如果如果<?>
是混淆你有一個實例
YourClass yourInstance = ...
yourInstance.getClass(); // will return an instance of type Class<YourClass>
,它被稱爲通配符。你可以閱讀更多關於它here。
2
在這種情況下,該方法調用類文字,而不是類的實例。這意味着您將實際的類傳遞給方法而不是類的實例。
這樣的一個例子是,如果你要撥打:
創建(MyClass.class);
在這裏,你傳遞一個Class對象,但不是MyClass的一個實例。所以,create方法是要求一個Class對象,而不是你傳入它的任何Class的實例。
如果它是類(java.lang.Class classLiteral),那麼它將調用任何擴展類的對象的實例。
相關問題
- 1. 傑克遜與泛型JSON無法構建java.lang.Class的實例
- 2. 鑄造泛型和泛型類型
- 3. java.lang.Class中和平等
- 4. JavaFX和泛型
- 5. Java和泛型?
- 6. 泛型和Class.asSubclass
- 7. 泛型和TreeSets
- 8. 廠和泛型
- 9. 泛型和System.Collections
- 10. Java泛型和「...」
- 11. 泛型和ArrayList
- 12. ThreadLocal和泛型
- 13. GWT和泛型
- 14. JRuby和泛型
- 15. IEnumerator和泛型
- 16. DVM和泛型?
- 17. Scala和泛型
- 18. Hibernate和泛型
- 19. Java泛型類和非泛型類
- 20. 匿名類型和泛型
- 21. 泛型和類型推斷
- 22. Java的泛型和類型
- 23. 反射和泛型類型
- 24. 泛型類型和繼承
- 25. 泛型和子類型
- 26. 泛型和可空類型
- 27. F#和泛型類型
- 28. 繼承和泛型類型
- 29. 泛型和超類型
- 30. Java泛型和界類型
'createLiteral' in'create(List classLiteral)'不太合理。 –