我遇到了一个奇怪的错误,我认为这是一个bug。
以下是一个最小化的代码案例,请勿评论代码的实用性 :)
我尝试过SUN SDK javac 1.6.0_13和1.6.0_21。
当我执行以下操作之一时,错误消失了:
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。
当我执行以下操作之一时,错误消失了:
- 将bar()变为非泛型(仅出于好奇,不是真正的选项)
- 删除第7行三元表达式周围的括号