import java.util.*;public class Copy
{
public static void main(String[] args)
{
List source = Arrays.asList("three Two Yo Yo six five Four".split(" "));
List dest=Arrays.asList("in the matrix".split(" m"));
Collections.copy(dest,source);
System.out.println(dest);
}
}
不知道这里为什么会抛出异常?

解决方案 »

  1.   

    Collections jdk  源代码public static <T> void copy(List<? super T> dest, List<? extends T> src) {
            int srcSize = src.size(); //源数组
            if (srcSize > dest.size()) 
                throw new IndexOutOfBoundsException("Source does not fit in dest");
            //若源数组的size() > 目标数组的size()则抛出IndexOutOfBoundsException
      

  2.   

    Collections.copy(dest,source);
    空间不够,或类型不匹配都会抛异常
      

  3.   

    目标数组在初始化之前长度为0,你要显示的设置目标数组长度〉源数组长度,然后再copy。