一、簡介
<T>在List、Set、Map中經常見到,用來限制Class中的引數型別,確保Class中引數的一致性,例如:List<String> list = new ArrayList<>();創建了一個內部引數是String型別的類,list中的操作物件都是String,<?>代表任意java型別,只有在不關心資料的具體型別下才使用通配符表示,但在一些情況下,需要將<?>傳入的資料進行強轉,但這樣不如直接傳入<T>,
另外除了<?>,還有<? extends T>上界通配符和<? super T>下界通配符,<? extends T> 表示傳入資料值需要是T型別或T的子類,<? suprt T>表示傳入資料值需要是T型別或T的超類,
一般來說,<?>主要用于變數上,<T>主要用于類或方法上,下圖中,list的元素型別為?,但往里邊添加String時,會顯示出錯,因為list中的型別是一個未知的java型別,不屬于任何類,所以往里邊添加資料時會出錯,但可以從list中取出資料,取出的資料型別為Object,
建議采用的順序是 List<T>、List<?>、List<Object>
二、代碼實體

List<?>是只讀型別的,不能進行增加、修改操作,


上一篇:Java面試題總結(附答案)
下一篇:【全堆疊最全Java框架總結】SSH、SSM、Springboot
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/237630.html
標籤:java
