gpt4 book ai didi

java - 将 List 转换为 List

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:30:41 27 4
gpt4 key购买 nike

我有一个扩展 Animal.Class 的 Animal.Class 和 Dog 类

我可以知道是否有快速简便的方法来做到这一点?

List<Dog> dogList = getAnimalList();

public List<Animal> getAnimalList(){
List<Animal> animalList = new LinkedList<Animal>();
return animalList;
}

除非绝对必要,否则我不想再次查看整个动物列表。

狗类只包含一个额外的 boolean 值用于其他检查目的。

最佳答案

Generics inheritance与java的继承原理略有不同。您需要使用 ?(通配符)

List<? extends Animal> dogList = getAnimalList();

编辑:

Wildcard Guidelines:

  1. 使用 extends 关键字,使用上限通配符定义“in”变量。
  2. 使用 super 关键字使用下界通配符定义“out”变量。
  3. 如果可以使用 Object 类中定义的方法访问“in”变量,请使用无限通配符。
  4. 如果代码需要将变量同时作为“输入”和“输出”变量进行访问,请不要使用通配符。

关于java - 将 List<Animal> 转换为 List<Dog>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11999364/

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