enum variables are allowed to be null
I.e. enum variables have one extra possible value -- all the enum values
plus null
public class Main
{
enum Foo{abc};
Main() {
}
public static void main(String[] args)
{
Foo f = null;
if(f == Foo.abc)
System.out.println("xxx");
if(f.equals(Foo.abc))
System.out.println("NPE?");
}
}
result
Exception in thread "main" java.lang.NullPointerException
at quickie.Main.main(Main.java:29)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)