📅  最后修改于: 2023-12-03 15:02:03.745000             🧑  作者: Mango
在Java集合框架中,checkedCollection()是Collection接口中的一个方法。它的作用是返回一个用于验证指定集合的元素类型的包装器。使用checkedCollection()方法,可以确保在将元素添加到集合时,只能添加指定类型的元素。
static <E> Collection<E> checkedCollection(Collection<E> c, Class<E> type)
方法参数:
返回值:
以下示例展示了如何使用checkedCollection()方法来创建只允许添加特定类型元素的Java集合。
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Collection<String> myCollection = new ArrayList<>();
myCollection.add("Apple");
myCollection.add("Banana");
myCollection.add("Pear");
//myCollection.add(1); // 编译错误
Collection<String> checkedCollection = Collections.checkedCollection(myCollection, String.class);
checkedCollection.add("Orange");
//checkedCollection.add(2); // 运行时错误
System.out.println("My Collection: " + myCollection);
System.out.println("Checked Collection: " + checkedCollection);
}
}
输出结果:
My Collection: [Apple, Banana, Pear, Orange]
Checked Collection: [Apple, Banana, Pear, Orange]
在上面的示例中,我们创建了一个ArrayList对象myCollection,并添加了三个String类型的元素。我们尝试将一个整数添加到myCollection中,这时候编译错误会出现,因为已经指定了要添加的元素类型为String。
然后,我们使用Collections.checkedCollection()方法创建了另一个Collection对象checkedCollection。在这里,我们指定要验证的类型为String。我们可以将字符串“Orange”添加到checkedCollection中,这时候不会出错。但是,如果我们尝试将数字添加到checkedCollection中,就会抛出ClassCastException异常。
checkedCollection()方法很有用,因为它可以确保我们只向集合中添加特定类型的元素。如果我们尝试添加错误类型的元素,就会在编译或运行时抛出异常。通过在集合中添加正确类型的元素,我们可以避免转换或类型转换错误,并提高我们程序的健壮性。