为了解决 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]