有办法让泛型持久化吗?[Java控制台]
我有这样的情况: 我有一个基础班
public class Vehicle
{
private String atrb1;
private String atrb2;
}
以及从中继承的一些类
public class Car extends Vehicle
{
private String anotheratrb1;
}
public class Bus extends Vehicle { ... }
public class Truck extends Vehicle { ... }
我正在做一个Java控制台应用程序,用户可以选择他想要注册的车辆类型,有没有办法获得他键入的车辆类型,并通过一个方法决定从车辆继承的哪个类将持久化银行?没有任何切换案例和ifs,使用类似泛型的东西,因为将来用户可以选择添加新类型,这可能会破坏一个切换案例,例如,if-else
我做了很多研究,发现了一些问题。还有别的办法吗
谢谢
# 1 楼答案
应要求,我附上一个例子。稍后,我想您可以扩展这个类以拥有更多的常量-只是不要忘记在
static
块中添加相应的行。还有一件事需要说明,下面是Java1.7。如果使用1.8,可以使用更优雅的解决方案,将Car::new
传递给VehicleType构造函数,而不是传递Car.class