Разрешено ли выбирать статический класс из параметризованного типа в Java 25?JAVA

Программисты JAVA общаются здесь
Anonymous
Разрешено ли выбирать статический класс из параметризованного типа в Java 25?

Сообщение Anonymous »

Вот минимальная демонстрация:

Код: Выделить всё

public class OuterStaticNestedDemo {
class Outer {
static class StaticNested {}
}

void qualifiedNew(Outer outer) {
new Outer.StaticNested();
new OuterStaticNestedDemo.Outer.StaticNested();
}
}
При компиляции с помощью javac возникает ошибка:

Код: Выделить всё

javac -g -source 25 -target 25 OuterStaticNestedDemo.java
OuterStaticNestedDemo.java:8: error: cannot select a static class from a parameterized type
new Outer.StaticNested();
^
1 error
Когда я компилирую с помощью ecj, он компилируется:

Код: Выделить всё

java -jar ecj-3.44.0.jar -g -source 25 -target 25 OuterStaticNestedDemo.java
Разрешено ли в Java 25 выбирать статический класс из параметризованного типа?

ecj кажется более мягким, чем javac, или это может быть ошибка в любом из двух компиляторов?

Подробнее здесь: https://stackoverflow.com/questions/798 ... in-java-25

Вернуться в «JAVA»