gpt4 book ai didi

java - 为什么方法的通用返回类型无效

转载 作者:行者123 更新时间:2023-12-02 07:36:44 25 4
gpt4 key购买 nike

我不明白。在 java 中,我可以将接口(interface)声明为方法的返回类型,例如:

public List<String> get(){
return new ArrayList<String>();
}

如果我现在有一个界面,可以说 I和一个类C实现它,为什么我不允许这样定义:

public List<I> get(){
return new ArrayList<C>();
}

我知道创建 ArrayList<I> 的解决方案并添加C到它,但我想知道为什么我不被允许像上面那样声明它。我以为每个 C也是I不过应该没问题。

最佳答案

您不能执行此操作,因为 List<I>List<C>是不兼容的类型。

但是你可以这样做

public List<? extends I> get(){
return new ArrayList<C>();
}

关于java - 为什么方法的通用返回类型无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8778990/

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