Java嵌套泛型转换(?超级类型)

时间:2019-01-05 13:32:26

标签: java generics casting bounded-wildcard

我试图解决我似乎找不到答案的问题。 考虑以下两个示例:

{
    // this works.
    Consumer<CharSequence> c = F -> {};
    test(c);
}
static void test(Consumer<? super String> c) { /* content */}

和:

{
    // doesn't compile
    List<Consumer<CharSequence>> list = new ArrayList<>();
    test(list);
}
static void test(List<Consumer<? super String>> list) { /* content */ }

第二个示例不是编译/类型安全的,也许是有道理的,但是我找不到/推断出这个原因。因此,对澄清这一问题的任何帮助都将受到赞赏。

0 个答案:

没有答案