1. 程式人生 > >java-基礎-1.4 陣列

java-基礎-1.4 陣列

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

類 實現Cloneable介面,同時還是實現 Serializable介面
 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);