java-基礎-1.4 陣列
阿新 • • 發佈:2019-02-03
1.介紹
一組相同型別的引用集合,
長度固定,永遠不可變,元素長度極限為 Integer.MAXVALUE,
下標從0開始,元素最後一個值下標:Array.length-1
2.建立
1.new String[]{};
2.new String[int]
3.{“”,”“};
4.Array.newInstance(compareType,leng),適用於 泛型!
陣列的建立必須要長度,一旦初始化結束,長度將不可變! 初始化時,陣列內元素將會自動初始化(給長度內每個元素都賦對應的預設值)
3.陣列的型別
1.陣列中元素的型別可以是任意型別,包括 陣列型別,陣列組成的陣列(多維陣列)
2.陣列型別不是類,但是例項是類,繼承Object
3.陣列都有一個length欄位表示長度,修飾符為 public final int,也就是說 不能通過修改length來改變陣列長度,這點和js不同
4.陣列型別放大,陣列協變
1.任意型別陣列都可以放大型別
Object,Cloneable,Serializable
2.基本陣列無法放大成除上述3種外
3.引用型別,如果T能指定給S型別,那麼T[]就能指定成S[]
並不推薦陣列放大,因為
// 這樣寫完全合法
String[] words = {"Hello World!"};
Object [] objects = words;
objects[0] = new Integer(42);//執行時錯誤
5.陣列的複製
1.呼叫 clone()
2.void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
6.陣列的擴容
1.本質上是替換是一個數組例項而非真正的擴容
2.Arrays.copyOf(xxx[],newLen);