Я обнаружил странную ошибку, которая, как мне кажется, является ошибкой. Вот минимальный случай, пожалуйста, не комментируйте полезность кода :)
class Foo {
static public <X> int bar() { return 42; }
public int baz() {
return true ? 42 : (
Foo.<Void>bar() > 42 ? 41 : 43
)
;
}
}
Результат:
err.java:7: illegal start of expression
Foo.<Void>bar() > 42 ? 41 : 43
^
Я пробовал SUN SDK javac 1.6.0_13 и 1.6.0_21.
Ошибка исчезает, когда я либо
Итак, это выглядит так, если e - это выражение, не всегда правильно писать (e) ?