如果我要使用以下代码,我有什么选择?
class Garage<X>{}
class Vehicle {}
class Car extends Vehicle {}
class Bike extends Vehicle {}
class A {
public static void main(String[] args) {
Garage<Car> car = new Garage<>();
Garage<Bike> bike = new Garage<>();
Garage<Vehicle> vehicle = new Garage<>();
//what are the options to do this?
vehicle=car;
vehicle=bike;
}
}
我追求的是尝试upcast(?)汽车和自行车到车辆。对于这种泛型类类型,这是否可能?
最佳答案
为了做你想做的事,你需要改变
Garage<Vehicle> vehicle = new Garage<>();
至
Garage<? extends Vehicle> vehicle = new Garage<>();
关于Java 类泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45896499/