我有一个包含 alist<Car>
和一些返回Car
对象的方法的包装类。
我需要另一个包含 alist<Bike>
和具有相同实现但当然不同类型的返回类型 ( Bike
)的相同方法的类。
我在想,也许为了避免重复代码并避免使用一个类,我可以使用 alist<?>
或 a 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
s列表,都可以像下面这样使用它:
VehicleList<Car> cars = ...;
VehicleList<Bike> bikes = ...;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句