Arrays.asList()的使用wenti

之前一直使用Arrays.asList()方法,将数组转为集合,今天突然发现该方法存在一些问题,主要是会报java.lang.UnsupportedOperationException异常,查阅资料之后发现问题,使用该方法转集合的时候不可以用一些集合的方法,贴下代码

        String type = "1;2;3";
		List<String> levels = new ArrayList<String>();
		List<String> levelids = new ArrayList<String>();
		//String[] levels = null;
		if (StrUtils.isNotNull(type)) {
			String[] levelArr = type.split(";");
			levels = Arrays.asList(levelArr);
			//levelids = new ArrayList<>(levels);
		}
		
                // 此时会报错
		levels.add("4");
		System.out.println(levels.toString());

目前是用下面的方法解决这个问题

        String type = "1;2;3";
		List<String> levels = new ArrayList<String>();
		List<String> levelids = new ArrayList<String>();
		//String[] levels = null;
		if (StrUtils.isNotNull(type)) {
			String[] levelArr = type.split(";");
			levels = Arrays.asList(levelArr);
			levelids = new ArrayList<>(levels);
		}
		
                // 这样可以运行
		levelids.add("4");
		System.out.println(levelids.toString());

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值