为了解决 enum 的不可变性, 用EnumSet 解决这个问题
package a;
import java.util.EnumSet;
public enum HelloWorld {
SMALL,MEDIUM,LARGE,SUPERSTAR;
public static void main(String[] args) {
EnumSet<HelloWorld> cake=EnumSet.noneOf(HelloWorld.class);
cake.add(HelloWorld.valueOf("SMALL"));
System.out.println(cake);
cake.remove(SMALL);
cake=EnumSet.complementOf(cake);
System.out.println(cake);
cake.removeAll(EnumSet.range(MEDIUM,LARGE));
System.out.println(cake);
}
}
[SMALL]
[SMALL, MEDIUM, LARGE, SUPERSTAR]
[SMALL, SUPERSTAR]