gpt4 book ai didi

java - "better"是使用泛型(?)、对象还是分离类?

转载 作者:行者123 更新时间:2023-11-29 04:30:55 24 4
gpt4 key购买 nike

我有一个包含 list<Car> 的包装器类和一些返回 Car 的方法对象。

我需要另一个包含 list<Bike> 的类以及具有相同实现但当然返回类型不同的相同方法(Bike)。

我在想,也许为了避免重复代码和避免一个类,我可以使用 list<?>list<Object> ,但随后我需要在返回对象时进行一些强制转换。

你认为哪个更有效率?

最佳答案

扩展我的评论,您可以使用以下结构来充分利用泛型。

抽象父类

abstract class Vehicle {
...
}

一个通用的、有界的列表容器类

class VehicleList<T extends Vehicle> {
private final List<T> vehicles; // Or any other way you want to hold your data
...
}

以及继承自Vehicle的具体类

class Car extends Vehicle {
...
}

class Bike extends Vehicle {
...
}

然后,无论您希望获得 Vehicle 的列表,都可以像下面这样使用它:

VehicleList<Car> cars = ...;
VehicleList<Bike> bikes = ...;

关于java - "better"是使用泛型(?)、对象还是分离类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43806870/

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