Java の enum

って、思っていたより強力。

switch とか iterator とか使えるし、

enum Color
{
    RED,
    BLUE;
}

public class Test
{
    public static void main(String[] args)
    {
Color c = Color.RED;
String s="s";
switch (c) {
case RED:
    break;
case BLUE:
    s = "a";
    break;
default:
    ;
}

System.out.println(s + c);

for ( Color cc : Color.values() )
    System.out.println(cc);
    }
}

実は class だし。

enum Color
{
    RED (255,   0,   0),
    BLUE(  0,   0, 255);

    private final int r;
    private final int g;
    private final int b;
    Color(int r, int g, int b) 
    {
this.r = r;
this.g = g;
this.b = b;
    }

    public double red()   { return (double)r/255; }
    public double green() { return (double)g/255; }
    public double blue()  { return (double)b/255; }
}

Enums