【发布时间】:2011-12-15 04:28:59
【问题描述】:
我有一些类(Car、Motorcycle、Train ... 等)从 class Vehicle 扩展而来。
从另一个类中,我需要创建一个 ArrayList 类,以便仅访问包含 ArrayList 的类。
概念与此类似,但显然行不通;
ArrayList<Class> vehicleType=new ArrayList<Class>();
vehicleType.add(Class.forName("train"));
我该如何解决? 谢谢
【问题讨论】:
-
没有理由不这样做。您收到了哪些错误消息(如果有)?
-
Class.forName("Train") 也许?区分大小写?
-
我不熟悉java,但是
ArrayList<Vehicle>做你想做的事吗? -
也许类名是
Train,而你的forName()调用指定了train,第一个字母不匹配? -
警告不是问题。要让它真正发挥作用,请按照 Dave 的回答。我猜你得到的警告是关于未参数化的类引用。使用这个:
ArrayList<Class<? extends Vehicle>>.