我剛剛創建了這樣一個類:NameOfTheClass<Raeaeraear>
。這是什麼意思?爲什麼我可以放任何我想要的隨機東西?Java - 用'<>'創建類時,它意味着什麼?
-1
A
回答
1
這就是所謂的泛型。泛型是用來「說」的類什麼樣類型的它會一起工作的情況下,採取f.ex列表
List<People> myPeopleList = new ArrayList<People>();
這裏的列表參數。如果你看一下List接口的源代碼,它是這樣聲明的,這意味着接口List是通用的。
public interface List<E> extends Collection<E> {
...
在你的情況下,類NameOfTheClass將implementet有點像這樣,注意:泛型可以應用到一個類或接口。
public class NameOfTheClass<E> {
....
public doSome(E e){
doSomeGenericOperationWith(e);
}
這個類可以這樣使用:
NameOfTheClass<AType> instance = new NameOfTheClass<AType>();
Atype yourType = ...
doSome(yourType);
注:任何使用doSome() - 方法的需要型A型的參數,這會由Java編譯器來處理。所以如果你嘗試用其他類型的方法調用,編譯錯誤將會增加。
更多閱讀:http://docs.oracle.com/javase/tutorial/java/generics/why.html
0
當您使用<>
時,編譯器會關閉檢查泛型類型。當編譯器需要知道該類型時,您不能使用例如<>
例如,
相關問題
- 1. 是什麼陣<T?>意味着
- 2. <xsd:include schemaLocation =「some.xsd」/>意味着什麼
- 3. 什麼<?意味着
- 4. 什麼呢<built-in>,<命令行>意味着
- 5. Java中的語法意味着什麼:new Stream <Integer>(){...}?
- 6. 什麼試圖創建use_block_in_frame意味着
- 7. 創建一個類的實例時,at @意味着什麼?
- 8. 創建數據類型時派生意味着什麼?
- 9. 分配時&& do /意味着什麼? JAVA
- 10. 使用以下內容創建對象意味着什麼:id <class> instanceName?
- 11. >>和>>>在Java中意味着什麼?
- 12. <>在定義接口時意味着什麼?
- 13. 泛型<?>究竟意味着什麼?
- 14. 「>>>」在java中意味着什麼?
- 15. makefile中的$ <和$ @意味着什麼?
- 16. <?=這在C++中意味着什麼?
- 17. - >函數原型意味着什麼?
- 18. (( - >)t)在Haskell中意味着什麼?
- 19. 什麼「return $ container - > {$ resource};」意味着
- 20. 這意味着什麼「$ var = * $ self - > {class_var};」
- 21. 什麼的 - >目標C意味着
- 22. - >在PDO PHP中意味着什麼?
- 23. StackOverflowError在Java中意味着什麼?它的修復是什麼?
- 24. 什麼-Dauto意味着
- 25. 什麼呢JDBC:HSQLDB:hsqlTempFiles意味着
- 26. 「WHERE id <> 0」子句在SQL中意味着什麼?
- 27. 這到底意味着什麼Collection <? extends E> c
- 28. 「一個<> b」在僞代碼中意味着什麼?
- 29. <C-\> ^]在vim映射中意味着什麼?
- 30. 「<top(required)>」在Ruby堆棧跟蹤中意味着什麼?
查看http://docs.oracle.com/javase/tutorial/java/generics/ –
@JonSkeet我可以向您發送電子郵件的問題嗎? :P – alfasin
@HovercraftFullOfEels我只是在開玩笑[*這*](http://msmvps.com/blogs/jon_skeet/archive/2012/08/22/stack-overflow-and-personal-emails.aspx) – alfasin