弱弱地问:Vector类型转换
首先是:
---------------------------------------
select XXX,avg(q1000.flight_score) from .............
将结果集放在一个Vector v中
double sum = 0;
if(v!=null && v.size()>0) {
for(int j=1;j<v.size();j++) {
Vector vItem = (Vector)v.elementAt(j);
sum=sum+((Double)vItem.elementAt(1)).doubleValue();
.......................
---------------------------------------
以上编译和运行都是没有问题的
然后是:
------------------------------------------------------------------------------
Select user_name,count(distinct short_name),count(distinct EVENT_SN) from ..........
结果集仍然放在一个Vector v中
double percent=0;
if(v!=null && v.size()>0) {
percent = ((Double)vItem.elementAt(2)).doubleValue()/((Double)vItem.elementAt(1)).doubleValue();
.................................
------------------------------------------------------------------------------
以上编译可以通过,但运行出现错误:
java.lang.ClassCastException: java.lang.Integer
将 percent = ((Double)vItem.elementAt(2)).doubleValue()/((Double)vItem.elementAt(1)).doubleValue();
换成 percent=Double.parseDouble(vItem.elementAt(2).toString())/Double.parseDouble(vItem.elementAt(1).toString());
编译运行都通过了
请问两个近乎一样的调用,一个可以一个不行,why????