gpt4 book ai didi

java - 通用通配符不适用

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:16:20 25 4
gpt4 key购买 nike

<分区>

我有一个函数

public static void bar (final List<List<?>> list)
{
}

我可以用通配符调用它 ( <?> )

bar(new ArrayList<List<?>>());

但不是另一种类型(例如 String)

// The method bar(List<List<?>>) in the type Foo is not
// applicable for the arguments (ArrayList<List<String>>)
bar(new ArrayList<List<String>>());

然而,这适用于类似的功能

public static void foo(List<?> l)
{
}

public static void main(String[] args)
{
// no error
foo(new ArrayList<String>());
}

您能解释一下,为什么编译器在第一种情况下会报错而在第二种情况下不会报错吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com