Java中List String a new List 10 這種寫法的元素型別是List嗎?

時間 2021-05-31 19:54:37

1樓:代林

首先,Number b=new Integer[10]並不是建立了乙個value=10的Integer,而是建立了乙個陣列,這個陣列的長度的10,且理論上只能儲存Integer。想要建立乙個value=10的Integer應該是用Number b=new Integer(10)。同理,List a=new List[10]也不是建立了乙個List,而是建立了乙個陣列,這個陣列的長度是10,且理論上只能儲存String。

然後,為什麼new Integer(10)是建立乙個Integer物件,而new Integer[10]建立的就是乙個陣列呢?簡單的說就是規定,因為這樣很簡便,而且大家都很容易接受,如果不這樣些的話,要新建乙個陣列會比較麻煩,不信你可以自己設計乙個新建任何型別陣列的機制看看。

2樓:大白

你new乙個陣列, 僅僅只是建立了乙個陣列型別的引用(類似於c語言上是指標) 用於記錄多個元素, 它並沒有建立具體例項的元素

Student

students

=new

Student[10

];System

.out

.println

(students

);System

.out

.println

(students[0

]);// 能列印出來 null

System

.out

.println

(students[0

].toString

());

// 元素在這裡的時候會報錯

//因為它壓根沒初始化

List String 轉換成List Object 這一類的強轉有什麼隱患?

羅利群 這個問題涉及到了,范型的向上轉型何向下轉型問題。List向上轉換至List 等價於List 會丟失String類的身份 String型別的特有介面 這種轉換是不完美的。當需要由List向下轉型時,你的程式必須明確的知道將物件轉換成何種具體型別,不然這將是不不 安全的操作! 李偉 泛型只是在編...

關於Java中的ConcurrentHashMap的實現原理有大神可以詳細介紹下嗎?

meteor the張 1.7陣列 hashmap,cas rentrantlock 分段鎖1.8陣列 鍊錶 紅黑樹,synchronized cas 優化版的hashmap luoxn28 可以看下這個 mmwx 沒人講1.8版,那我來講講吧。1.8版本相比1.7版本,沒有了分段鎖的概念,轉而使用...

java 中Serializable存在的意義是什麼?

C加加程式設計思想 高讚確實有道理,restful架構下,json和xml會成為傳輸和持久化的主流。但是至少有下面幾個地方我們還是需要Serializable介面。1 Serializable是乙個標記。這個介面告訴JVM哪些物件可以變成byte,哪些不行。繼承介面可以幫助開發者更好地管理這些物件,...