java.util.Collections类的checkedCollection()方法用于返回指定集合的动态类型安全视图
返回的集合不会将hashCode和equals操作传递到后备集合,而是依赖于Object的equals和hashCode方法。在后备集合是集合或列表的情况下,必须保留这些操作的合同。
如果指定的集合是可序列化的,则返回的集合将是可序列化的。
由于null被认为是任何引用类型的值,因此只要后备集合可以,返回的集合就允许插入null元素。
用法:
public static Collection
checkedCollection(Collection c, Class type)
参数:此方法将以下参数作为参数:
c –要为其返回动态类型安全视图的集合
type –允许c保留的元素类型
返回值:此方法返回指定集合的动态类型安全视图
以下示例说明了checkedCollection()方法
示例1:
// Java program to demonstrate
// checkedCollection() method
// for String value
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// creating object of List
List arlst = new ArrayList();
// Adding element to arrlist
arlst.add("CSS");
arlst.add("PHP");
arlst.add("HTML");
arlst.add("TajMahal");
// printing the arrlist
System.out.println("List: " + arlst);
// create typesafe view of the collection
Collection
tslst = Collections
.checkedCollection(arlst, String.class);
// printing the arrlist after operation
System.out.println("Typesafe view of List: " + tslst);
}
catch (IllegalArgumentException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出:
List: [CSS, PHP, HTML, TajMahal]
Typesafe view of List: [CSS, PHP, HTML, TajMahal]
示例2:
// Java program to demonstrate
// checkedCollection() method
// for Integer value
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// creating object of List
List arlst = new ArrayList();
// Adding element to arrlist
arlst.add(20);
arlst.add(30);
arlst.add(40);
arlst.add(50);
// printing the arrlist
System.out.println("List: " + arlst);
// create typesafe view of the collection
Collection
tslst = Collections
.checkedCollection(arlst, Integer.class);
// printing the arrlist after operation
System.out.println("Typesafe view of List: " + tslst);
}
catch (IllegalArgumentException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出:
List: [20, 30, 40, 50]
Typesafe view of List: [20, 30, 40, 50]