-
Bug
-
Resolution: Cannot Reproduce
-
P4
-
8
In Enum valueOf, if enumType is null, it failed to compile.
import java.util.*;
import java.lang.reflect.*;
public class TestEnum {
public static void main(String[] args) {
try {
Colour02 test = Enum.valueOf(null, "BLUE");
System.out.println("Test Fail");
} catch(NullPointerException e) {
System.out.println("Test Pass");
}
}
}
enum Colour02 {
RED,YELLOW,GREEN,BLUE,PINK,BLACK;
}
javac result:
javac TestEnum.java
TestEnum.java:8: error: incompatible types: invalid inferred types for T#1
Colour02 test = Enum.valueOf(null, "BLUE");
^
reason: inferred type does not conform to upper bound(s)
inferred: T#2
upper bound(s): Colour02,Enum<T#2>
where T#1,T#2 are type-variables:
T#1 extends Enum<T#1> declared in method <T#1>valueOf(Class<T#1>,String)
T#2 extends Colour02
1 error
import java.util.*;
import java.lang.reflect.*;
public class TestEnum {
public static void main(String[] args) {
try {
Colour02 test = Enum.valueOf(null, "BLUE");
System.out.println("Test Fail");
} catch(NullPointerException e) {
System.out.println("Test Pass");
}
}
}
enum Colour02 {
RED,YELLOW,GREEN,BLUE,PINK,BLACK;
}
javac result:
javac TestEnum.java
TestEnum.java:8: error: incompatible types: invalid inferred types for T#1
Colour02 test = Enum.valueOf(null, "BLUE");
^
reason: inferred type does not conform to upper bound(s)
inferred: T#2
upper bound(s): Colour02,Enum<T#2>
where T#1,T#2 are type-variables:
T#1 extends Enum<T#1> declared in method <T#1>valueOf(Class<T#1>,String)
T#2 extends Colour02
1 error