Java.util.EnumSet 类

java.util.EnumSet.copyOf() 方法用于创建从指定集合初始化的枚举集。

语法

public static <E extends Enum<E>> EnumSet<E> copyOf(Collection<E> c)

这里,E 是容器维护的元素类型。

参数

c 指定从中初始化此枚举集的集合。

返回值

返回从给定集合初始化的枚举集。

异常

  • 如果 c 为 null,则抛出 NullPointerException
  • 如果 c 不是 EnumSet 实例且不包含任何元素,则抛出 IllegalArgumentException

示例:

在下面的示例中, java.util.EnumSet.copyOf() 方法用于创建从指定集合初始化的枚举集。

import java.util.*;

public class MyClass {
  
  //创建一个枚举
  public enum weekday{
    SUN, MON, TUE, WED, THU, FRI, SAT
  }

  public static void main(String[] args) {
    //创建一个集合
    Collection<weekday> col = new ArrayList<weekday>();

    //填充集合
    col.add(weekday.SUN);
    col.add(weekday.SAT);

    //打印集合
    System.out.println("Collection contains: "+ col); 

    //创建EnumSet并初始化
    //它带有集合
    EnumSet<weekday> Set;
    Set = EnumSet.copyOf(col);
    
    //打印Set的内容
    System.out.println("Set contains: "+ Set); 
  }
}

上述代码的输出将是:

Collection contains: [SUN, SAT]
Set contains: [SUN, SAT]