T
和S
是什麼意思?public void main(String... abc)
;...
是什麼意思?...
也稱爲通用的?
1
A
回答
10
- 這就是parameterized types。您可以在此處使用任何標識符來表示某個對象類型。
- 這就是varargs。你可以通過一個單一的字符串,或多個字符串,或在字符串數組。
1
- 請閱讀the documentation。簡而言之,它們是類型參數,以便泛型類型和方法可以知道它們正在執行什麼類型的對象。
- 這表明該方法可以接受可變數量的參數。見varargs。它基本上是一個陣列周圍的糖。
3
T
和S
是通用類。他們可以是任何你想要的類。例如,Map<K, V>
對密鑰類使用K
,對值類使用V
。
Map<Integer, String> map = new HashMap<Integer, String>
至於String...
,它表示任意數量的String參數。
0
補充: String...
幾乎與String[]
相同。
在方法方面,它是相同的,在調用端的
're是一個區別:編譯器從參數中創建數組。
void method(String... args) {
// args is an array: getClass() returns [java.lang.String
if (args.length > 0) {
System.out.println(args[0]);
...
method(); // same as method(new String[0]);
method("1", "2", "3"); // same as method(new String[] {"1", "2", "3"});
1
Sun的Java泛型文檔有時候有點難以理解,所以我試着編寫一個關於Java泛型的更簡單的教程。你可以在這裏找到它:
0
T和S表示類本身不知道它們是什麼類,而是使用類的東西做的。
取java.util.List。該列表類不知道大約T t什麼,不作任何T.事情假設使用 List類:
List<MyBean> l = new ArrayList<MyBean>();
知道什麼在它。
相關問題
- 1. Java和泛型?
- 2. Java泛型類和非泛型類
- 3. Java泛型和JNI
- 4. 的Java和泛型
- 5. Java和泛型類
- 6. Java:泛型和TypeCasting
- 7. 泛型和Java中
- 8. 泛型和java實例 - java
- 9. Java的泛型和類型
- 10. Java泛型和界類型
- 11. Java泛型和ClassCastException的泛化
- 12. 接口和泛型與Java
- 13. Java繼承和泛型
- 14. java泛型和通配符
- 15. Java泛型和集合
- 16. Java泛型和通配符
- 17. Java泛型和反思!
- 18. Java的泛型和模板
- 19. Java泛型和集合集
- 20. Java泛型和鑄造
- 21. Java泛型和數字類
- 22. Java的泛型和接口
- 23. Java泛型和Groovy重載
- 24. 的AsyncTask和Java泛型
- 25. java泛型和c + +模板
- 26. Java和泛型的使用?
- 27. Java泛型和多態性
- 28. Java抽象類和泛型
- 29. JAX-WS和java的泛型
- 30. ActiveJDBC和Java泛型導致
1.我可以使用任何其他字母表,A,B,C,Z嗎?而不是T,S,K,V? 2.是Map(K,V)與Map(S,T)相同嗎?可以使用任何字母表? – cometta 2009-12-10 02:42:06
您可以使用任何您想要的標識符,只要它不會與類路徑中的現有類名衝突。正常的編碼約定確實是一個單一的大寫字符(因爲只有一個字符作爲名字的類是不正常的)。 – BalusC 2009-12-10 02:52:02