我有一个ArrayArrayList如下

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

10-08 02:32