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

Java 物件陣列向上轉型為 Object 陣列語法解析

     編輯:程式設計綜合問答

原始語句


Object[] parameters = new Object[] { new String[] {"M", "W", "Q"} };

逐層解析

  1. new String[] {"M", "W", "Q"}:建立一個 String[] 陣列物件,包含三個字串。
  2. new Object[] { ... }:建立一個 Object[] 陣列,長度 1,唯一元素是上述 String[] 物件。
  3. Object[] parameters = ...:宣告 Object[] 變數參考該陣列。

記憶體圖示

parameters (Object[])
   │
   ▼
+-----------------+
| [0] ────────────┼──▶ String[] {"M","W","Q"}
+-----------------+

關鍵點

  • Java 陣列具有協變性:String[] 是 Object[] 的子型別,可直接賦值。
  • 但運行時型別檢查:parameters[0] = new Integer(1) 會拋 ArrayStoreException,因實際陣列元素型別為 String。
  • 若需扁平化:Object[] params = Arrays.stream(strArr).toArray() 或手動複製。

原答案核心

「理解就是object數組中放了一個string數組」

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