Java教程

Java Collections checkedList()

checkedList()是Java Collections 类的一种方法,该方法返回指定列表的动态类型安全视图。如果插入的元素类型错误,将立即导致ClassCastException。

语法

以下是 checkedList()方法的声明:
public static <E> List<E> checkedList(List<E> list, Class<E> type)

参数

参数 说明 必需/可选
list 这是要为其返回动态类型安全视图的列表。 必需
type 这是允许列表保存的元素的类型。 必需

返回

checkedList()方法返回指定列表的动态类型安全视图。

异常

ClassCastException

兼容版本

Java 1.5及更高版本

示例1

import java.util.*;
public class CollectionsCheckedListExample1 {
    public static void main(String[] args) {
        //Create list       
          ArrayList<String> arrlist = new ArrayList<String>();
          arrlist.add("A");
          arrlist.add("B");
          arrlist.add("C");
          arrlist.add("D");
          //Create type safe view of the List          
          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]

示例2

import java.util.*;
public class CollectionsCheckedListExample2 {
    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);
            //you can add any type of elements to myList object
            myList.add(10);
            //you cannot add any type of elements to chkList object, doing so throws 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.base/java.util.Collections$CheckedCollection.typeCheck(Collections.java:3038)
    at java.base/java.util.Collections$CheckedCollection.add(Collections.java:3081)
    at myPackage.CollectionCheckedListExample2.main(CollectionCheckedListExample2.java:15)

示例3

import java.util.*;
public class CollectionsCheckedListExample3 {
    public static void main(String[] args) {
        //Create list       
          ArrayList<Integer> arrlist = new ArrayList<Integer>();
          arrlist.add(10);
          arrlist.add(20);
          arrlist.add(30);
          arrlist.add(40);
          //Create type safe view of the collection
          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]

示例4

import java.util.*;
public class CollectionsCheckedListExample4 {
    public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("RAJ");
            System.out.println(list);
            List list2 = list;
            list2.add(2);
            System.out.println(list2);
        }
}
输出:
[RAJ]
[RAJ, 2]

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4