📜  Java中的 EnumSet copyOf() 方法

📅  最后修改于: 2022-05-13 01:54:33.653000             🧑  作者: Mango

Java中的 EnumSet copyOf() 方法

  1. Java中的Java .util.EnumSet.copyOf( Collection collect )方法用于将集合中的所有内容复制到新的枚举集。首先,集合由枚举的元素组成,然后创建一个新的枚举集,它是集合的副本。

    句法:

    New_Enum_Set = EnumSet.copyOf(Collection collect)

    参数:该方法接受枚举对象类型的一个参数collect ,并引用其值将被复制到New_Enum_Set中的集合。

    返回值:该方法不返回任何值。

    例外:

    • IllegalArgumentException :如果collect不是 EnumSet 实例并且包含无法与枚举进行比较的元素或不包含任何元素,则会引发此异常。
    • NullPointerException :如果collect为 NULL,则抛出此异常。

    下面的程序说明了Java .util.EnumSet.copyOf() 方法的工作:

    // Java program to demonstrate copyOf() method
    import java.util.*;
      
    // Creating an enum of GFG type
    enum GFG {
        Welcome,
        To,
        The,
        World,
        of,
        Geeks
    }
    ;
      
    public class Enum_Set_Demo {
      
        public static void main(String[] args)
        {
      
            // Creating an empty collection
            Collection collect = new ArrayList();
      
            // Adding elements to the Collection
            collect.add(GFG.Welcome);
            collect.add(GFG.World);
            collect.add(GFG.Geeks);
      
            // Displaying the collection
            System.out.println("The collection is: " + collect);
      
            EnumSet e_set = EnumSet.copyOf(collect);
      
            // Displaying the final set
            System.out.println("The enum set is:" + e_set);
        }
    }
    
    输出:
    The collection is: [Welcome, World, Geeks]
    The enum set is:[Welcome, World, Geeks]
    
  2. Java中的Java .util.EnumSet.copyOf( EnumSet e_set )方法用于将现有 EnumSet (即 e_set)中的所有内容复制到新的枚举集。

    句法:

    New_Enum_Set = EnumSet.copyOf(EnumSet e_set)

    参数:该方法接受枚举对象类型的一个参数e_set ,并引用其值将被复制到New_Enum_Set中的集合。

    返回值:该方法不返回任何值。

    异常:e_set为 NULL 时,该方法会抛出NullPointerException

    下面的程序说明了Java.util.EnumSet.copyOf() 方法的工作:

    // Java program to demonstrate copyOf() method
    import java.util.*;
      
    // Creating an enum of CARS type
    enum CARS {
        RANGE_ROVER,
        MUSTANG,
        CAMARO,
        AUDI,
        BMW
    }
    ;
      
    public class Enum_Set_Demo {
      
        public static void main(String[] args)
        {
      
            // Creating an empty EnumSet
            // Getting all elements from CARS
            EnumSet e_set = EnumSet.allOf(CARS.class);        
      
            // Displaying the initial EnumSet
            System.out.println("Initial set is: " + e_set);
      
            // Copying the set
            EnumSet new_set = EnumSet.copyOf(e_set);
      
            // Displaying the final set
            System.out.println("The new set is: " + new_set);
        }
    }
    
    输出:
    Initial set is: [RANGE_ROVER, MUSTANG, CAMARO, AUDI, BMW]
    The new set is: [RANGE_ROVER, MUSTANG, CAMARO, AUDI, BMW]