Java Collections checkedSortedSet()

checkedSortedSet() 用于获取指定SortedSet的动态类型安全视图。

1 语法

public static <E> SortedSet<E> checkedSortedSet(SortedSet<E> s, Class<E> type)    

2 参数

s:返回动态类型安全视图的SortedSet。

type:允许保留的元素类型。

3 返回值

返回指定SortedSet的动态类型安全视图。

4 Collections checkedSortedSet()示例1

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java Collections.checkedSortedSet的例子
 */
import java.util.*;

public class Demo {

    public static void main(String[] args) {
        TreeSet<String> set = new TreeSet<String>();
        //Insert values in the Set
        set.add("yiidian");
        set.add("baidu");
        set.add("google");
        set.add("sm1234");
        //Get type safe view of the Set
        System.out.println("Type safe view of the Sorted Set is: "+Collections.checkedSortedSet(set,String.class));
    }
}

输出结果为:

Type safe view of the Sorted Set is: [baidu, google, sm1234, yiidian]

5 Collections checkedSortedSet()示例2

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java Collections.checkedSortedSet的例子
 */
import java.util.*;

public class Demo {

    public static void main(String[] args) {
        TreeSet<Integer> set = new TreeSet<>();
        //Insert values in the Set
        set.add(1100);
        set.add(100);
        set.add(500);
        set.add(200);
        //Get type safe view of the Set
        SortedSet<Integer> TypeSafeSet;
        TypeSafeSet = Collections.checkedSortedSet(set,Integer.class);
        System.out.println("The view of the Sorted Set is: "+TypeSafeSet);
    }
}

输出结果为:

The view of the Sorted Set is: [100, 200, 500, 1100]

6 Collections checkedSortedSet()示例3

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java Collections.checkedSortedSet的例子
 */
import java.util.*;

public class Demo {

    public static void main(String[] args) {
        SortedSet<Integer> set = new TreeSet<>();
        set = Collections.checkedSortedSet(set, Integer.class);
        set.add(1100);
        set.add(5000);
        set.add(800);
        System.out.println("Dynamic type safe view of Sorted Set is: "+set);
        Set set2 = set;
        set2.add("yiidian.com");
        System.out.println(set2);
    }
}

输出结果为:

Dynamic type safe view of Sorted Set is: [800, 1100, 5000]
Exception in thread "main" java.lang.ClassCastException: Attempt to insert class java.lang.String element into collection with element type class java.lang.Integer
	at java.util.Collections$CheckedCollection.typeCheck(Collections.java:3037)
	at java.util.Collections$CheckedCollection.add(Collections.java:3080)
	at com.yiidian.Demo.main(Demo.java:21)

 

热门文章

优秀文章