Java EnumSet copyOf()方法与示例

EnumSet类copyOf()方法

语法:

    public static EnumSet copyOf(Collection co);
    public static EnumSet copyOf(EnumSet es);
  • copyOf()方法在java.util包中可用。

  • copyOf(Collection co)方法用于从给定的Collection返回一个EnumSet。

  • copyOf(EnumSet es)方法用于从给定的EnumSet返回EnumSet,换句话说,我们可以说它创建了一个枚举集并为给定的枚举集分配了所有复制的元素。

  • copyOf(Collection co)方法在复制元素时可能会引发异常。

    • IllegalArgumentException:如果给定参数co不是EnumSet对象,则可能引发此异常。

    • NullPointerException:当给定参数为null时,可能引发此异常。

  • 在复制EnumSet元素时,copyOf(EnumSet es)方法可能会引发异常。

    • NullPointerException:当给定参数为null时,可能引发此异常

  • 这些是静态方法,可以使用类名进行访问,如果尝试使用类对象访问这些方法,则也不会出现任何错误。

参数:

  • 在第一种情况下,copyOf(Collection co)

    • Collection co –表示要从其中复制此枚举集的Collection对象。

  • 在第一种情况下,copyOf(EnumSet es)

    • EnumSet es –表示要从中复制此枚举集的EnumSet对象。

返回值:

此方法的返回类型为EnumSet,它不返回任何内容。

示例

//Java程序是演示示例
//f()EnumSet的copyOf方法

import java.util.*;

public class CopyOfEnumSet {
    //初始化枚举变量
    //与一些常数
    public enum Colors {
        RED,
        BLUE,
        GREEN,
        PURPLE,
        YELLOW
    };

    public static void main(String[] args) {

        Collection co = new LinkedList();
        EnumSet es = EnumSet.allOf(Colors.class);

        //通过使用add()方法是添加
        //链表中的元素

        co.add(Colors.RED);
        co.add(Colors.BLUE);
        co.add(Colors.GREEN);
        co.add(Colors.PURPLE);

        //通过使用copyOf(collection)方法是
        //复制给定集合的元素
        //进入EnumSet-
        EnumSet es1 = EnumSet.copyOf(co);

        //显示EnumSet-
        System.out.println("EnumSet.copyOf(co): " + es1);

        //通过使用copyOf(EnumSet)方法是
        //复制给定EnumSet的元素
        //进入另一个EnumSet-
        es1 = EnumSet.copyOf(es);

        //显示EnumSet-
        System.out.println("EnumSet.copyOf(es): " + es1);
    }
}

输出结果

EnumSet.copyOf(co): [RED, BLUE, GREEN, PURPLE]
EnumSet.copyOf(es): [RED, BLUE, GREEN, PURPLE, YELLOW]