首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

关于类型转换,该如何解决

2013-01-09 
关于类型转换String d[]request.getParameterValues(s)List lnew ArrayList()for(int a0 ad.leng

关于类型转换
                String d[]=request.getParameterValues("s");
List l=new ArrayList();
for(int a=0; a<d.length; a++) {
l.add(d[a]);
}
for(int a=0; a<l.size(); a++) {
System.out.print(l.size());
if(l.get(a).equals("")) {
System.out.print("已删除");
l.remove(a);
a-- ;
}
}
int q[]=new int[l.size()];
for(int a=0; a<l.size(); a++) {
q[a]=(Integer)l.get(a);
System.out.println(q[a]+2);
}


代码是这样的..  
但是q[a]=(Integer)l.get(a);报错
java.lang.String cannot be cast to java.lang.Integer
请问要如何改才能改为整形呢? 
求解救  谢谢
[解决办法]
q[a]=(Integer)l.get(a);
改成
q[a]=Integer.parseInt(l.get(a)+"");
[解决办法]

引用:
引用:
q[a]=(Integer)l.get(a);
改成
q[a]=Integer.parseInt(l.get(a)+"");

为什么要+""  呢?

那你因为楼主没用泛型限制编译器从l.get(a)获得的是Object类型,而Integer.parseInt(String s);
接收的参数是String所以+""转成String类型。
还有楼主这代码依然问题。因为ArrayList不是线程安全的。你在遍历的同时又去对它进行删改操作要使用Iterator迭代器。
楼主先好好看看api
[解决办法]
。。。。“”就是字符串串啊。。。。
[解决办法]
引用:
引用:引用:引用:
q[a]=(Integer)l.get(a);
改成
q[a]=Integer.parseInt(l.get(a)+"");

为什么要+""  呢?
那你因为楼主没用泛型限制编译器从l.get(a)获得的是Object类型……
java数据类型之间的转换啊。楼主查下API?
[解决办法]
楼主可以看下StringBuffer
加上“+” 就直接将I.get(a)转化成了String类型了

热点排行