import java.util.*; enum Foo { A, B } class a { public static void main(String[] args) { System.out.println(EnumSet.noneOf(Foo.class)); System.out.println(EnumSet.of(Foo.A)); System.out.println(EnumSet.of(Foo.A).getClass()); } } This prints: [] [A] class java.util.RegularEnumSet As regards implementation, this link provides a description: EnumSet is an abstract class and it provides two concrete implementations, java.util.RegularEnumSet and java.util.JumboEnumSet.