java.util.Arrays.asList使用体会

本文介绍如何正确地将字符串数组转换为可修改的列表。由于直接使用`Arrays.asList()`方法得到的是不可变列表,文章提供了两种解决方案:一是先创建一个空的`ArrayList`再使用`addAll()`方法添加元素;二是直接在构造`ArrayList`时传入`Arrays.asList(strArray)`。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面的代码执行后

	private void onButtonAsListClick() {
		String[] strArray = new String[] { "aa", "bb" };
		List<String> list = Arrays.asList(strArray);
		try {
			list.add("cc");
		} catch (Exception e) {
			Log.i("AsList", "add failure");
		}
	}


异常发生


原因:

是一个不可变的数组,所以修改如下:

	private void onButtonAsListClick() {
		String[] strArray = new String[] { "aa", "bb" };
		ArrayList<String> arrayList = new ArrayList<String>();
		arrayList.addAll(Arrays.asList(strArray));
		try {
			arrayList.add("cc");
		} catch (Exception e) {
			Log.i("AsList", "add failure");
		}
		for (String string : arrayList) {
			Log.i("AsList", string);
		}
	}

输出结果:


上面的代码:

ArrayList<String> arrayList = new ArrayList<String>();
		 arrayList.addAll(Arrays.asList(strArray));

也可改为:

ArrayList<String> arrayList = new ArrayList<String>(
				Arrays.asList(strArray));

效果一样。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值