Object[] parameters = new Object[] { new String[] {"M", "W", "Q"} };
new String[] {"M", "W", "Q"}:建立一個 String[] 陣列物件,包含三個字串。new Object[] { ... }:建立一個 Object[] 陣列,長度 1,唯一元素是上述 String[] 物件。Object[] parameters = ...:宣告 Object[] 變數參考該陣列。
parameters (Object[])
│
▼
+-----------------+
| [0] ────────────┼──▶ String[] {"M","W","Q"}
+-----------------+
String[] 是 Object[] 的子型別,可直接賦值。parameters[0] = new Integer(1) 會拋 ArrayStoreException,因實際陣列元素型別為 String。Object[] params = Arrays.stream(strArr).toArray() 或手動複製。「理解就是object數組中放了一個string數組」