Java Collections checkedNavigableSet()
checkedNavigableSet() 用于获取指定的NavigableSet的动态类型安全视图。如果尝试插入值类型错误的元素,则抛出ClassCastException异常。
1 语法
public static <E> NavigableSet<E> checkedNavigableSet(NavigableSet<E> s, Class<E> type)
2 参数
s:返回动态类型安全视图的NavigableSet。
type:允许保留的元素类型。
3 返回值
返回NavigableSet的动态类型安全视图。
4 Collections checkedNavigableSet()示例1
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Collections.checkedNavigableSet的例子
*/
import java.util.*;
public class Demo {
public static void main(String[] args) {
NavigableSet<String> set = new TreeSet<>();
//往Map插入元素
set.add("A1");
set.add("B2");
set.add("C3");
set.add("D4");
//创建Set的类型安全视图
System.out.println("Type safe view of the Navigable Set is: "+Collections.checkedNavigableSet(set,String.class));
}
}
输出结果为:
Type safe view of the Navigable Set is: [A1, B2, C3, D4]
5 Collections checkedNavigableSet()示例2
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Collections.checkedNavigableSet的例子
*/
import java.util.*;
public class Demo {
public static void main(String[] args) {
NavigableSet<Integer> set = new TreeSet<>();
//往Map插入元素
set.add(11);
set.add(22);
set.add(33);
set.add(44);
//创建Set的类型安全视图
NavigableSet<Integer> TypeSafeSet;
TypeSafeSet = Collections.checkedNavigableSet(set,Integer.class);
System.out.println("The view of the Navigable Set is: "+TypeSafeSet);
}
}
输出结果为:
The view of the Navigable Set is: [11, 22, 33, 44]
6 Collections checkedNavigableSet()示例3
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java Collections.checkedNavigableSet的例子
*/
import java.util.*;
public class Demo {
public static void main(String[] args) {
NavigableSet<String> set = new TreeSet<>();
//往Map插入元素
set.add("A");
set.add("B");
set.add("A");
set.add("B");
System.out.println("Type safe view of the Navigable Set1 is: "+Collections.checkedNavigableSet(set,String.class));
NavigableSet<Integer> sset = new TreeSet<>();
sset.add(11);
sset.add(12);
sset.add(11);
sset.add(12);
//创建地图的类型安全视图
System.out.println("Type safe view of the Navigable Set2 is: "+Collections.checkedNavigableSet(sset,Integer.class));
Set sset2 = sset;
sset2.add("two");
System.out.println("TypeSafe View: "+sset2);
}
}
输出结果为:
Type safe view of the Navigable Set1 is: [A, B]
Type safe view of the Navigable Set2 is: [11, 12]
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at java.lang.String.compareTo(String.java:111)
at java.util.TreeMap.put(TreeMap.java:568)
at java.util.TreeSet.add(TreeSet.java:255)
at com.yiidian.Demo.main(Demo.java:29)
热门文章
优秀文章