2015年05月28日 List 浏览(265)

Java 标记List容器信息不能被修改

标记List容器信息不能被修改的代码如下:
/**
 * @from www.everycoding.com
 * @Description:标记List容器信息不能被修改
 */
public class ListReadOnly {
	public static void main(String args[]) throws Exception {

		List<String> list = new ArrayList<String>();
		list.add("A");
		list.add("B");
		list.add("C");
		String D = new String("D");
		list.add(D);
		// 标记这个List不可被修改
		list = Collections.unmodifiableList(list);
		// 此时修改它会出现什么景象呢?
		list.add("D");
		System.out.println(list);
	}
}
执行结果如下:
Exception in thread "main" java.lang.UnsupportedOperationException
	at java.util.Collections$UnmodifiableCollection.add(Collections.java:1018)
	at com.list.ListReadOnly.main(ListReadOnly.java:23)

用户头像