在内存中创建枚举集合对象的副本

创建枚举集合的copy(副本)对实际应用有不寻常的作用。

1.public static > EnumSet copyOf(EnumSet s);// 创建一个存在的枚举集合的copy;
    Creates an enum set with the same element type as the specified enum set, initially containing the same elements (if any).
2.public static > EnumSet copyOf(Collection c);// 将集合的元素转换成枚举集合元素,不是枚举将转换!
package com.mldn;
import .util.EnumSet;
public class EnumSetDemo
{
        public static void main(String[] args)
        {
                EnumSet eSetOld = null;        //  声明枚举集合
                EnumSet eSetNew = null;       
                System.out.println(“============EnumSet.nonOf(Color.class)===============”);       
                eSetOld = eSetOld.noneOf(Color.class);        // 创建一个元素为Color类型的空的枚举集合实例
                eSetOld.add(Color.RED);        // 添加元素
                eSetOld.add(Color.BLUE);               
                print(eSetOld);        // 输出所有元素
                System.out.println(“============EnumSet.copyOf(EnumSet)===============”);       
                eSetNew = eSetNew.copyOf(eSetOld);        // 创建枚举集合eSetOld的补集
                print(eSetNew);        // 输出所有元素
        }
        public static void print(EnumSet enumSet)
        {
                for (Color c : enumSet)
                {
                        System.out.print(“\t  ” + c);
                }
                System.out.println();        // 换行
        }
}
//———enum类:
enum Color
{
        RED, BLUE, GREEN;
}
/*
ubuntu@xu-desktop:~$ com.mldn.EnumSetDemo
============EnumSet.nonOf(Color.class)===============
          RED          BLUE
============EnumSet.copyOf(EnumSet)===============
          RED          BLUE
*/   
–Set–> EnumSet;
package com.mldn;
import .util.EnumSet;
import .util.Set;
import .util.TreeSet;
public class EnumSetDemo
{
        public static void main(String[] args)
        {
                Set set = new TreeSet();       
                EnumSet eSetNew = null;        //  声明枚举集合
                set.add(Color.RED);        // 添加元素
                set.add(Color.BLUE);                               
                System.out.println(“\t  ” + set);
                System.out.println(“============EnumSet.copyOf(Collection)===============”);       
                eSetNew = eSetNew.copyOf(set);        // 创建枚举集合eSetOld的补集
                print(eSetNew);        // 输出所有元素
        }
        public static void print(EnumSet enumSet)
        {
                for (Color c : enumSet)
                {
                        System.out.print(“\t  ” + c);
                }
                System.out.println();        // 换行
        }
}
//———enum类:
enum Color
{
        RED, BLUE, GREEN;
}
/*
ubuntu@xu-desktop:~$ java com.mldn.EnumSetDemo
          [RED, BLUE]
============EnumSet.copyOf(Collection)===============
          RED          BLUE
*/

声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 智乐兔
转载请注明:转自《在内存中创建枚举集合对象的副本
本文地址:https://www.zhiletu.com/archives-134.html
关注公众号:智乐兔

赞赏

wechat pay微信赞赏alipay pay支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!

在线客服
在线客服 X

售前: 点击这里给我发消息
售后: 点击这里给我发消息

智乐兔官微