给定如下Java代码,其中第()行代码有错误。

给定如下Java代码,其中第()行代码有错误。
import java.util.*;
public class ListTest{
List pList=new ArrayList();
pList.add("A"); //第五行
pList.add("B"); //第六行
for(int i=0;i<pList.size();i++){ //第七行
String str=pList.get(i); //第八行
System.out.print(str);
}
}

第八行错误,
因为方法 Object get(Object o)返回的为Object类的对象。而你上面add的是字符串对象,所以可以把第8行将对像强制转换,改为:String str =(String) pList.get(i);
也可以用泛型,(不知道楼主有没有学到泛型)
把上面的List pList=new ArrayList();改为如下:
List <String> pList = new ArrayList <String> ();
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-19
1.首先你的这段代码块不能直接写在类下面,代码块需要写在方法中。
2.如果你这段代码在方法中测试,第八行会出错。pList里面虽然添加的是String类型的数据,但是List默认是Object的,当你用pList.get(i)直接赋值给String类型变量时会出错,应该是编译错误。
3.解决方法:将List<String>加上泛型就Ok了。
第2个回答  2012-04-19
import java.util.*;
public class ListTest{
public static void main(String[] args) {//main方法
List pList=new ArrayList();
pList.add("A"); //第五行
pList.add("B"); //第六行
for(int i=0;i<pList.size();i++){ //第七行
String str=(String) pList.get(i); //第八行//强转
System.out.print(str);
}
}
}
第3个回答  2018-01-20
第八行,如果你不给List加上泛型,它里面就是Object,String接收需要进行强制类型转换,还有你这个没有main方法的?
相似回答