1
私はグルーヴィーで次のコードを持っている:GroovyのCompileStatic
class Test {
List<Integer> yo(boolean x) {
List<Integer> res = x ? [] : [1, 2, 3]
}
}
私はクラスに@CompileStatic
注釈を追加するまで、それはうまくコンパイルされます。その後、コンパイルが
Test.groovy: 5: [Static type checking] - Incompatible generic argument types. Cannot assign java.util.List <? extends java.lang.Object> to: java.util.List <Integer>
@ line 5, column 27.
List<Integer> res = x ? [] : [1, 2, 3]
で失敗し、それは本当にGroovyのは、その空のリスト[]
のジェネリック型を推測することができないことが予想されていますか?
結構です '[]' iferredタイプがあり、 '一覧
と同じこれはGroovyバグのようです。 – Nikem
... 'リスト Lは= []'作業を行うので、 'リストは'私は何とか期待 '[]' ...同じタイプであるタイプのLHSを有し、この特定の場合には 'null'なので –
Dany