Close

Java Collections - Collections.checkedList() Examples

Java Collections Java Java API 


Class:

java.util.Collections

java.lang.Objectjava.lang.Objectjava.util.Collectionsjava.util.CollectionsLogicBig

Method:

public static <E> List<E> checkedList(List<E> list,
                                      Class<E> type)

Returns a dynamically typesafe view of the specified List.


Examples


Without checkedList:

package com.logicbig.example.collections;

import java.util.ArrayList;
import java.util.List;

public class CheckedListExample {

public static void main(String... args) {
List<String> list = new ArrayList<>();
list.add("one");
System.out.println(list);

List list2 = list;
list2.add(2);
System.out.println(list2);
}
}

Output

[one]
[one, 2]




With checkedList:

package com.logicbig.example.collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class CheckedListExample2 {

public static void main(String... args) {
List<String> list = new ArrayList<>();
list = Collections.checkedList(list, String.class);
list.add("one");
System.out.println(list);

List list2 = list;
list2.add(2);
System.out.println(list2);
}
}

Output

Caused by: 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.logicbig.example.collections.CheckedListExample2.main(CheckedListExample2.java:22)
... 6 more




See Also