首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 陣列定長特性:定義時必須指定長度,動態集合請用 ArrayList

     編輯:程式設計綜合問答

核心規則

Java 陣列長度不可變。宣告時必須確定長度:

int[] a = new int[8];  // 長度固定為 8
int[] b = {};          // 長度固定為 0

錯誤示範

int[] a = {};          // 長度 0
for (int i = 0; i < 5; i++) a[i] = i; // 執行時拋出 ArrayIndexOutOfBoundsException

正確做法

  1. 預知大小:new int[size]
  2. 不知大小:使用 ArrayList 動態增長:
    List list = new ArrayList<>(); list.add(1); list.add(2);
  3. 陣列轉 List:Arrays.asList(arr)(定長視圖)或 new ArrayList<>(Arrays.asList(arr))(可變)。

記憶體模型解析

  • 陣列在堆上分配連續記憶體,長度存於陣列物件頭部。
  • JVM 不支援陣列擴容,Arrays.copyOf 實質是建立新陣列複製。

總結

Java 陣列定長是語言設計決策,追求效能與型別安全。需要動態容器請用 ArrayList、LinkedList 等集合類別。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved