JDK5.0 新機能:EnumSet.copyOf

「4.6. EnumSet」

import java.util.*;

enum C2008082800_Color { RED, BLUE, YELLOW, BLACK, WHITE }

public class C2008082800 {
    public static void main(String[] args) {
        EnumSet<C2008082800_Color> s1 = EnumSet.allOf(C2008082800_Color.class);
        EnumSet<C2008082800_Color> s2 = EnumSet.copyOf(s1);

        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s1 == s2);
        System.out.println(s1.equals(s2));
    }
}

で、

[RED, BLUE, YELLOW, BLACK, WHITE]
[RED, BLUE, YELLOW, BLACK, WHITE]
false
true
import java.util.*;

enum C2008082801_Color { RED, BLUE, YELLOW, BLACK, WHITE }

public class C2008082801 {
    public static void main(String[] args) {
        List<C2008082801_Color> list = new ArrayList<C2008082801_Color>();
        list.add(C2008082801_Color.RED);
        list.add(C2008082801_Color.BLUE);

        EnumSet<C2008082801_Color> s = EnumSet.copyOf(list);

        System.out.println(list);
        System.out.println(s);
    }
}

で、

[RED, BLUE]
[RED, BLUE]