Java Collections checkedList()
checkedList() 返回指定列表的动态类型安全视图。如果插入的元素类型错误,将抛出ClassCastException异常。
1 语法
public static <E> List<E> checkedList(List<E> list, Class<E> type)
2 参数
list:为其返回动态类型安全视图的列表。
type:允许列表保存的元素类型。
3 返回值
返回指定列表的动态类型安全视图。
4 Collections checkedList()示例1
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Collections.checkedList的例子
*/
import java.util.*;
public class Demo {
public static void main(String[] args) {
//创建List
ArrayList<String> arrlist = new ArrayList<String>();
arrlist.add("A");
arrlist.add("B");
arrlist.add("C");
arrlist.add("D");
//创建列表的类型安全视图
System.out.println("Type safe view of the List is: "+Collections.checkedList(arrlist,String.class));
}
}
输出结果为:
Type safe view of the List is: [A, B, C, D]
5 Collections checkedList()示例2
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Collections.checkedList的例子
*/
import java.util.*;
public class Demo {
public static void main(String[] args) {
List myList = new ArrayList();
myList.add("one");
myList.add("two");
myList.add("three");
myList.add("four");
List chkList = Collections.checkedList(myList, String.class);
System.out.println("Checked list content: "+chkList);
//您可以向myList对象添加任何类型的元素
myList.add(10);
//您不能向chkList对象添加任何类型的元素,否则将引发ClassCastException
chkList.add(10); //throws ClassCastException
}
}
输出结果为:
Checked list content: [one, two, three, four]
Exception in thread "main" java.lang.ClassCastException: Attempt to insert class java.lang.Integer element into collection with element type class java.lang.String
at java.util.Collections$CheckedCollection.typeCheck(Collections.java:3037)
at java.util.Collections$CheckedCollection.add(Collections.java:3080)
at com.yiidian.Demo.main(Demo.java:24)
6 Collections checkedList()示例3
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Collections.checkedList的例子
*/
import java.util.*;
public class Demo {
public static void main(String[] args) {
//创建List
ArrayList<Integer> arrlist = new ArrayList<Integer>();
arrlist.add(10);
arrlist.add(20);
arrlist.add(30);
arrlist.add(40);
//创建集合的类型安全视图
Collection<Integer> tsafelist;
tsafelist = Collections.checkedList(arrlist,Integer.class);
System.out.println("Type safe view of the List is: "+tsafelist);
}
}
输出结果为:
Type safe view of the List is: [10, 20, 30, 40]
热门文章
优秀文章