java数组和list的转换

使用工具类 Arrays . asList() 把数组转换成集合时,不能使用其修改集合相关的方法,它的 add / remove / clear 方法会抛出 UnsupportedOperationException 异常。


说明: asList 的返回对象是一个 Arrays 内部类,并没有实现集合的修改方法。 Arrays.asList体现的是适配器模式,只是转换接口,后台的数据仍是数组。

String[] str = new String[] { "you", "wu" };

List list = Arrays.asList(str);
 

第一种情况: list.add("yangguanbao");  运行时异常。
第二种情况: str[0] = "gujin"; 那么 list.get(0) 也会随之修改

package test98;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class Test {

	public static void main(String[] args) {
		String[] str = new String[] { "you", "wu" };
		System.out.println(Arrays.toString(str));
		List list = Arrays.asList(str);
		System.out.println(list);
		// list.add("yangguanbao");
		// System.out.println(list);

		str[0] = "1";
		System.out.println(Arrays.toString(str));
		System.out.println(list);
	}

}

结果:

java数组和list的转换_第1张图片

你可能感兴趣的:(java)