VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 811|回复: 4

Collections.copy的问题。。。

[复制链接]

3

主题

17

帖子

14.00

积分

新手上路

Rank: 1

积分
14.00
发表于 2020-1-4 01:20:01 | 显示全部楼层 |阅读模式
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);
        }
}
不知道这里为什么会抛出异常?
回复

使用道具 举报

0

主题

12

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-1-4 06:06:01 | 显示全部楼层
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
回复

使用道具 举报

1

主题

51

帖子

32.00

积分

新手上路

Rank: 1

积分
32.00
发表于 2020-1-4 07:54:01 | 显示全部楼层
Collections.copy(dest,source);
空间不够,或类型不匹配都会抛异常
回复

使用道具 举报

3

主题

17

帖子

14.00

积分

新手上路

Rank: 1

积分
14.00
 楼主| 发表于 2020-1-4 09:54:01 | 显示全部楼层
收工
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-3 22:15:01 | 显示全部楼层
目标数组在初始化之前长度为0,你要显示的设置目标数组长度〉源数组长度,然后再copy。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表