Java中的 EnumSet of() 方法
- Java中的Java .util.EnumSet.of(E ele1, E ele2, E ele3, ...)方法用于创建最初包含参数中指定元素的枚举集。当同时添加多个项目时,元素会随着新元素的添加而被下推。当在不同的时间或迭代中添加不同的元素时,旧元素会被替换。
句法:
Enum_Set = EnumSet.of(E ele1, E ele2, E ele3, ...)
参数:该方法可以采用枚举中存在的多个参数。
返回值:该方法返回一个枚举集,最初包含通过参数传递的指定元素。
异常:如果传递的任何元素为 NULL,该方法将抛出 NullPointerException。
下面的程序说明了Java.util.EnumSet.of() 方法的工作:
程序 1:一次添加一个元素替换前一个元素。// Java program to demonstrate range() 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 EnumSet EnumSet
e_set; // Adding elements e_set = EnumSet.of(GFG.The); // Displaying the updated set System.out.println("The enum set is: " + e_set); // Adding elements e_set = EnumSet.of(GFG.Geeks); // Displaying the updated set System.out.println("The enum set is: " + e_set); // Adding elements e_set = EnumSet.of(GFG.Welcome); // Displaying the updated set System.out.println("The enum set is: " + e_set); } } 输出:The enum set is: [The] The enum set is: [Geeks] The enum set is: [Welcome]
方案二:同时添加两个元素。
// Java program to demonstrate range() 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 EnumSet EnumSet
e_set; // Adding elements e_set = EnumSet.of(GFG.The, GFG.Geeks); // Displaying the updated set System.out.println("The enum set is: " + e_set); // Adding elements e_set = EnumSet.of(GFG.Geeks, GFG.Welcome); // Displaying the updated set System.out.println("The enum set is: " + e_set); // Adding elements e_set = EnumSet.of(GFG.of, GFG.World); // Displaying the updated set System.out.println("The enum set is: " + e_set); } } 输出:The enum set is: [The, Geeks] The enum set is: [Welcome, Geeks] The enum set is: [World, of]
方案3:同时添加多个元素。
// Java program to demonstrate range() 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 EnumSet EnumSet
e_set; // Adding 2 elements e_set = EnumSet.of(GFG.The, GFG.Geeks); // Displaying the updated set System.out.println("The enum set is: " + e_set); // Adding 3 elements e_set = EnumSet.of(GFG.The, GFG.Geeks, GFG.Welcome); // Displaying the updated set System.out.println("The enum set is: " + e_set); // Adding 4 elements e_set = EnumSet.of(GFG.Geeks, GFG.Welcome, GFG.of, GFG.World); // Displaying the updated set System.out.println("The enum set is: " + e_set); // Adding 5 elements e_set = EnumSet.of(GFG.Welcome, GFG.To, GFG.The, GFG.of, GFG.World, GFG.Geeks); // Displaying the updated set System.out.println("The enum set is: " + e_set); } } 输出:The enum set is: [The, Geeks] The enum set is: [Welcome, The, Geeks] The enum set is: [Welcome, World, of, Geeks] The enum set is: [Welcome, To, The, World, of, Geeks]
- Java.util.EnumSet.of( E_first, E_rest )用于创建最初包含所有指定元素的枚举集。这个工厂,它的参数列表使用了 var_args 特性,也可以用来创建一个初始包含任意数量元素的枚举集,但它的缺点是使程序运行得比不使用 var_args 的重载慢。
句法:public static
> EnumSet of(E_first, E_rest) 参数:该方法有两个参数:
- E_first:这是枚举类型,指的是集合最初要包含的元素。
- E_rest:这也是枚举类型,指的是集合最初需要包含的其余元素。
返回值:该方法返回一个枚举集,最初包含通过参数传递的指定元素。
异常:如果传递的任何元素为 NULL,该方法将抛出 NullPointerException。
下面的程序说明了Java.util.EnumSet.of( E_first, E_rest ) 方法的工作:
// Java program to demonstrate of() 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 the ist that will be used as args GFG[] listing = {GFG.Welcome, GFG.The, GFG.World, GFG.Geeks}; // Calling the other main function other_main(listing); } // The other_main. public static void other_main(GFG[] other_args) { // Creating the set EnumSet
e_set; // Adding the first element and the other_args e_set = EnumSet.of(GFG.Welcome, other_args); // Displaying the e_set System.out.println("Set: " + e_set); } } 输出:Set: [Welcome, The, World, Geeks]