更新された回答
これを受けて
編集: はい、私は myList.add(myString) を試しましたが、 myString の値のみを参照渡ししないでください。
String[] newArr = new String[myString.length];
for (int i = 0; i < myString.length; i ++) {
newArr[i] = myString[i];
}
myList.add(newArr);
この
更新された回答をありがとう。それが唯一の解決策ですか?Java にはより短い解決策がなく、それを行うためだけに別の変数を作成しなければならないのは少し奇妙に感じます。– めいりょう
String[] newArr = new String[myString.length];
System.arraycopy(myString, 0, newArr, 0, myString.length);
(古い回答)
myList.add(new String[](myString)); //does not work
myList.add(myString); //works
なぜあなたは使用していnew String[]
ますか?
注: 配列を動的に生成する場合は、次のようにします。
myList.add(new String[] {"string1", "string2", "foo", "bar"});
したがって、例は次のように短縮できます。
List<String[]> myList = new ArrayList<String[]>();
myList.add(new String[] {"foo", "bar"});