小编Dhe*_*uru的帖子

泛型方法类型参数推断问题

我无法理解为什么下面的第二次调用会导致编译器错误。为什么不能像第一次调用那样将 Number 推断为类型参数?

typeArgInference(new Integer[100], new ArrayList<Number>()); // Infers Number

typeArgInference(new Number[100], new ArrayList<Integer>()); // compiler error

<T> void typeArgInference(T[] a, Collection<T> c) {}
Run Code Online (Sandbox Code Playgroud)

可能是我在这里遗漏了一些东西。如果 JLS 对此行为有任何规定,请务必包含链接。

java generics type-inference

0
推荐指数
1
解决办法
52
查看次数

标签 统计

generics ×1

java ×1

type-inference ×1