【发布时间】:2012-04-01 07:17:47
【问题描述】:
我将对象类型转换为 bean 类,这反过来又给了我一个异常 ClassCastException,我没有得到这背后的问题。
Hashtable listEvent = getEvents(label1.getText(), str);
Enumeration events = listEvent.keys();
while (events.hasMoreElements()) {
String key = (String) events.nextElement();
if (key.equals(label1.getText())) {
Vector object = (Vector) listEvent.get(key);
Enumeration hashtable = listEvent.keys();
while (hashtable.hasMoreElements()) {
String keys = (String) hashtable.nextElement();
if (keys.equals(label1.getText())) {
Vector data = (Vector) listEvent.get(keys);
for (int i = 0; i < data.size(); i++) {
EventsBean bean1 = (EventsBean) data.elementAt(i);
在运行应用程序以将类型转换为 EventsBean 时出现错误。
【问题讨论】:
-
显然
data至少包含一些 元素不是EventsBean类型的实例。是什么让您相信data只会包含该类型? -
很难猜,
System.out.println(data.elementAt(i).getClass())打印的是什么?就在施法之前放置它。 -
你为什么不使用泛型,它应该删除一堆这些演员?
-
listEvent Hashtable 中有什么?从异常中可以明显看出您正在尝试从其他类转换为 EventsBean。
-
数据只有EventsBean类型的值,因为我正在设置这些
标签: java vector hashtable classcastexception