java三元运算符

Dón*_*nal 4 java ternary-operator

有人可以解释为什么这个代码?

Collection c = (5 == 5) ? new ArrayList() : new HashSet();
Run Code Online (Sandbox Code Playgroud)

产生以下编译器错误:

不兼容的条件操作数类型ArrayList和HashSet

由于我不理解的原因,以下修复了该问题

Collection c = (5 == 5) ? (Collection) new ArrayList() : new HashSet();
Run Code Online (Sandbox Code Playgroud)

我正在使用Java 1.4.

Bal*_*usC 7

这是1.4 中的一个错误,并已根据bugreport 5080917修复.

评价这是一个错误.

xxxxx @ xxxxx 2004-07-30