请问高手,是不是JAVA中的ArrayList不能添加数据对象?今天想用循环的方式往往ArrayList实例集合中添加数据型元素,老是报错,报错如下:
D:\java\workspace>javac PlayerListShow.java
PlayerListShow.java:11: 找不到符号
符号: 方法 add(java.lang.Integer)
位置: 类 java.util.ArrayList<java.lang.String>
                                objArrayList.add(new Integer(ctr));
                      
                             ^
********************
这是我的代码(如果在此代码基础上改,改成什么可用,谢谢!)
********************
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Collections;
class PlayerList{
ArrayList <String> objArrayList = new ArrayList <String>();
List <String> objList = new ArrayList <String>();
//向集合添加元素
void add(){
for(int ctr=0;ctr<6;ctr++){
objArrayList.add(new Integer(ctr));
}
objArrayList.add("Java");
objArrayList.add("VC");
objArrayList.add("VB");
objArrayList.add("VC");
/*
for(int ctr=0;ctr<objArrayList.size();ctr++){
System.out.println("playerArray中第 "+ctr+" 个元素的值是: "+objArrayList.get(ctr));
}
*/
}
//显示集合内元素
void show(){
System.out.println("集合添加元素后的显示");
System.out.println("***********************");
System.out.println();
for(int ctr=0;ctr<objArrayList.size();ctr++){
System.out.println("playerArray中第 "+ctr+" 个元素的值是: "+objArrayList.get(ctr));
}
}
}
class PlayerListShow{
public static void main(String [] args){
PlayerList pl = new PlayerList();
pl.add();
pl.show();
}
}

解决方案 »

  1.   

    ArrayList   <String>   objArrayList   =   new   ArrayList   <String> (); //声明的是String类型的Listvoid   add(){ 
    for(int   ctr=0;ctr <6;ctr++){ 
    objArrayList.add(new   Integer(ctr));  //添加的是int类型的对象
    }
      

  2.   

    ArrayList<Integer> arraylist=new ArrayList<Integer>();
      

  3.   

    不好意思 没看清楚题目objArrayList.add(new   Integer(ctr));改成objArrayList.add(String.valueOf(ctr));
      

  4.   

    哦,原来冲突在这里,谢谢各位了,还有一个问题啊,是不是在定义ArrayList对象的时候必须加上泛型ArrayList <String>  objArrayList ,好象不加泛型的话编译都不让通过啊!   
      

  5.   

    不加<String> 这个是警告,加上最好
      

  6.   

      ArrayList   <String>   objArrayList   =   new   ArrayList   <String> (); 
       List   <String>   objList   =   new   ArrayList   <String> (); 
       这个代码为什么不是 这样写的呢?
       ArrayList   <String>   objArrayList   =   new   ArrayList   <String> (); 
    List   <String>   objList   =   new   List   <String> (); 我是初学者,谁嫩告诉我! 给我解释一下 ,谢谢
      

  7.   

    ArrayList<String> objArrayList = new ArrayList<String>();
    List<String> objList = new ArrayList<String>();这个代码为什么不是这样写的呢? ArrayList<String> objArrayList = new ArrayList<String>();   
    List<String> objList = new List<String>();   我是初学者,谁能告诉我!给我解释一下,谢谢——————————————————————————————该死的CSDN,空格擦死我了List是一个接口,凡接口、抽象类都不能生成对象的。PS:为了以后的扩展性,建议左边放置接口/抽象类,右边new具体的实现类。
      

  8.   

    list是接口不能实例化对象
    ArrayList是实现了List接口的类
    这是Java的多态,父类引用指向子类对象
      

  9.   

    泛型是1.5才有的吧
    这样代码或许可以说更严格一点吧,至少不用再传Object类型了