关于数组转换为list的集合的问题

将一个数组转换为list集合时,使用List <数组类型>list = Arrays.asList(数组),当转换后,list不可改变大小。请看下面的程序:

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class TestArraysAsList {
 public static void main(String[] args) {
  String []str = {"aaa","bbb","ccc"};

  List <String> list = Arrays.asList(str);
  list.add("aaa");//不能支持的操作,因为list是不可以变化的,此时不能添加
  Collections.shuffle(list);//随机混排
  System.out.println(list.get(0));
 }

}

 

运行结果:

Exception in thread "main" java.lang.UnsupportedOperationException
 at java.util.AbstractList.add(Unknown Source)
 at java.util.AbstractList.add(Unknown Source)
 at com.test0806.TestArraysAsList.main(TestArraysAsList.java:13)

 

分析:抛出异常,原因是因为,经过Arrays(数组操作工具)的方法asList()转换得到的list是不可变化的。所以不能添加。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值