This program doesn't compile:
class Test {
Enum<?> test(Class<? extends Enum<?>> enumClass, String value) {
return Enum.valueOf(enumClass, value);
}
}
unless we change the signature if valueOf to:
<T extends Enum<?>> T valueOf(Class<T> enumType, String name);
###@###.### 2004-12-15 17:08:13 GMT
class Test {
Enum<?> test(Class<? extends Enum<?>> enumClass, String value) {
return Enum.valueOf(enumClass, value);
}
}
unless we change the signature if valueOf to:
<T extends Enum<?>> T valueOf(Class<T> enumType, String name);
###@###.### 2004-12-15 17:08:13 GMT
- relates to
-
JDK-6209029 The type of a class literal shouldn't be erased
-
- Open
-