gpt4 book ai didi

java - 如何从派生类实现不需要强制转换的方法

转载 作者:行者123 更新时间:2023-12-01 12:07:58 26 4
gpt4 key购买 nike

假设我有 2 类车辆和汽车

public class Vehicle {
public List<? extends Vehicle> getList() {
return new ArrayList<Vehicle>();
}
}

@Override
public class Car extends Vehicle {
public List<? extends Vehicle> getList() {
return new ArrayList<Car>();
}
}

如果我想从派生 Vehicle 的类中获取列表,有没有一种方法可以使用 getList() 而无需进行强制转换?

这不起作用(我明白为什么:

List<Car> list = new Car().getList();

这样做:

List<Car> list = (List<Car>)new Car().getList();

有办法避免这种情况吗?

最佳答案

更改 getList() Car中的方法类返回 List<Car>相反。

@Override
public List<Car> getList() {
return new ArrayList<Car>();
}

关于java - 如何从派生类实现不需要强制转换的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27462420/

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