enumの定義域は暗黙にnull値を含む?
Java5から導入されたenumは、型として使うことができる。
〜サンプルコード ここから〜
enum Sample {
FOO, BAR, BUZ;
}
public class Main {
public static void main(String[] args)
{
Sample s = FOO;
}
}
〜サンプルコード ここまで〜
で、enumな型は、参照型の扱いらしく、
Sample s = null;
と、null値を代入できる。
とすると、Javaのenumは定義域に暗黙にnull値を含むといえるのだろうか。
つまり、上記の例だと、定義域は一見するとFOO, BAR, BUZの3要素の集合だが、
実際には暗黙にnull値を含み、FOO、BAR、BUZ、nullの4要素の集合であるような気がする。
ちょっと気になる。
Effective Javaに解説があるかなぁ・・・
↑は会社に置きっぱなしなので週明けまで確認できない;;