我有一个Array
和ArrayList
如下
String[] stringArray = new String[] {"a","b","c","d","e"};
List<String> stringList = new ArrayList<>();
stringList.add("p");
stringList.add("q");
stringList.add("r");
我想将stringList复制到stringArray。我尝试使用
ArrayList.toArray()
方法,但将null设置为Array
的第四个元素。有没有办法可以通过不使用for循环来做到这一点预期O / P
{"p","q","r","d","e"}
最佳答案
如果您只想覆盖stringArray
中的现有元素,而又不触及更远的索引,请使用System#arraycopy(Object, int, Object, int, int)
:
// Convert list to array
String[] stringListAsArray = stringList.toArray(new String[] {});
// Copy
System.arraycopy(stringListAsArray, 0,
stringArray, 0, stringListAsArray.length);
另外,请确保
stringList
不超过stringArray
,否则您会得到IndexOutOfBoundsExceptions
。