2012-03-02 69 views
0

我使用Ant和JDK-1.5_10编译我的源代码,并创建一个jar文件。而jar创建时没有任何编译错误。 但我在运行时遇到以下代码 - 类抛出异常 - > java.lang.Long不能转换为[Ljava.lang.Object (注意 - 我没有包含完整的代码,只有其中我有疑问的那一个)运行-类转换异常

void someFunction(List<Object[]> result){ 
    Object[] resultObject = new Object[1]; 
    for (Object resultSet : result) { 
     resultObject[0] = resultSet; 
    }//end of for 
}//end of function 

我得到在第三线异常((对象的resultSet:结果))。 但是,当我更换包含上述正在使用的Eclipse编译的则执行没有错误的函数的类。 Eclipse也是使用JDK-1.5_10

我无法找出其原因。当我使用ant脚本编译源代码时,是否有任何问题。需要帮助来找出这种情况背后的原因。

谢谢!

+0

不是'result'对象数组,每个元素?所以尝试'for(Object [] resultSet:result)' – 2012-03-02 05:47:53

+0

嗨,猎人! 雅是。但是我想知道为什么它不会导致运行时异常,当我使用类,即在eclipse中编译,为什么它会在使用由ant脚本编译的类时出现? – 2012-03-02 05:54:54

+0

我已经编辑我的问题现在有例外也 – 2012-03-02 07:49:12

回答

0

当你在命令行中运行您的蚂蚁产生的罐子,要传递到“someFunction”元素的列表,而这种元素之一是一个长期的,和你的计划是希望它是一个对象[ ]。如果您尝试使用相同的输入,则两种情况(命令行和eclipse)都应该这样做。

不过,我觉得你是不是正确的迭代,列表中的每个对象是一个数组(您正在使用的对象):

void someFunction(List<Object[]> result){ 
    Object[] resultObject; 
    for (Object[] resultSet : result) { 
     System.out.println(resultSet); // Is an Object[] 
     resultObject = resultSet; 
    }//end of for 
}//end of function 
+0

如果你仍然有完全相同的代码和相同的输入(很奇怪的情况下)的问题,发表您的完整代码,请。 – greuze 2012-03-02 09:27:54

+0

好吧,我得到了你给的解释,但我想搞清楚当我运行的原因使用eclipse的类的eclipse版本没有错误,但是当我运行蚂蚁生成的类文件时有这个异常。 – 2012-03-02 09:39:59

相关问题