JAVA踩坑之数组转List方式

介绍

本文主要介绍Java中数组转List的两种方式及其区别。

使用Arrays类中asList()数组转List(常见方式)

  • asList(T... data)
    Arrays.asList(arr); 结果返回的是Arrays内部静态类ArrayList,而不是常用的ArrayList类。该类没有覆盖父类add()、**remove()**方法,故使用增、删操作会出现异常,案例如下:
@Test
private void test() {
        String[] arr = new String[]{"a","b"};
        List list = Arrays.asList(arr);
        //对转换后的list插入一条数据
        list.add("c");
        //移除第一条数据
        //list.remove(0);
        System.out.println(list);
    }

执行结果:在list.add(“c”)处抛出UnsupportedOperationException异常。

  • 适用范围
    Arrays.asList(arr)方式仅能用在将数组转换为List后,不需要增删其中的值,仅作为数据源读取使用。

new ArrayList()方式(支持增删操作)

通过ArrayList的构造器,将Arrays.asList(strArray)的返回值由java.util.Arrays.ArrayList转为java.util.ArrayList

  • List<T> list = new ArrayList<T>(Arrays.asList(arr));
@Test
private void test() {
        String[] arr = new String[]{"a","b"};
        List<String> list = new ArrayList<>(Arrays.asList(arr));
        //对转换后的list插入一条数据
        list.add("c");
        //移除第一条数据
        //list.remove(0);
        System.out.println(list);
    }

执行结果

["a","b","c"]

使用场景:需要在将数组转换为List后,对List进行增删改查操作,在List的数据量不大的情况下,可以使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值