Java中将数组转换成为集合,不能使用add()方法添加元素。

在日常开发中,经常会遇到数组转集合,例如调用Arrays.asList()会返回一个ArrayList。当我们想在这个集合中使用add()方法的时候就会出现报错如下图所示

出现这种原因是由于Arrays.asList()方法返回的是一个内部类ArraysList.此ArraysList并不是List的实现类ArraysList的那个对象。进入Arrays的源代码中发现这个内部类并没有提供add()方法,就出现了java.lang.UnsupportedOperationException异常

  那么我们要通过这个方法把数组转换成集合并且使用add()方法。要怎么做呢?下面是给出的一个静态方法,只需要传入数据就可以获取对应的集合并可以使用add方法添加。关于Stream流的研究本人还不理解也是在网上找的工具类。

public static <E> List<E> transferArrayToList(E[] array){
        List<E> transferedList = new ArrayList<>();
        Arrays.stream(array).forEach(arr -> transferedList.add(arr));
        return transferedList;
    }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值