要正確初始化Java EnumSet,首先需要了解EnumSet是什么以及它的用途
以下是正確初始化Java EnumSet的幾種方法:
使用靜態工廠方法創建EnumSet:
EnumSet.noneOf(Class<E> elementType)
:創建一個空的EnumSet,其中包含指定元素類型的元素。EnumSet.allOf(Class<E> elementType)
:創建一個包含指定元素類型的所有元素的EnumSet。示例:
public enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class EnumSetDemo {
public static void main(String[] args) {
// 創建一個空的EnumSet
EnumSet<Day> emptyEnumSet = EnumSet.noneOf(Day.class);
// 創建一個包含所有元素的EnumSet
EnumSet<Day> allDays = EnumSet.allOf(Day.class);
}
}
使用位運算符創建EnumSet:
可以使用位運算符(如|
)將多個枚舉常量組合成一個EnumSet。這種方法適用于創建包含少量元素的EnumSet。
示例:
public enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class EnumSetDemo {
public static void main(String[] args) {
// 創建一個包含MONDAY和WEDNESDAY的EnumSet
EnumSet<Day> selectedDays = EnumSet.of(Day.MONDAY, Day.WEDNESDAY);
}
}
使用EnumSet.copyOf(Collection<E> c)
方法創建EnumSet:
如果你有一個包含枚舉常量的集合,可以使用EnumSet.copyOf()
方法將其轉換為EnumSet。
示例:
import java.util.Arrays;
import java.util.EnumSet;
import java.util.Set;
public enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
public class EnumSetDemo {
public static void main(String[] args) {
// 創建一個包含MONDAY和WEDNESDAY的Set
Set<Day> daysSet = new EnumSet<>(Arrays.asList(Day.MONDAY, Day.WEDNESDAY));
// 將Set轉換為EnumSet
EnumSet<Day> selectedDays = EnumSet.copyOf(daysSet);
}
}
根據你的需求選擇合適的方法來初始化EnumSet。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。