请问高手,是不是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();
}
}
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();
}
}
for(int ctr=0;ctr <6;ctr++){
objArrayList.add(new Integer(ctr)); //添加的是int类型的对象
}
List <String> objList = new ArrayList <String> ();
这个代码为什么不是 这样写的呢?
ArrayList <String> objArrayList = new ArrayList <String> ();
List <String> objList = new List <String> (); 我是初学者,谁嫩告诉我! 给我解释一下 ,谢谢
List<String> objList = new ArrayList<String>();这个代码为什么不是这样写的呢? ArrayList<String> objArrayList = new ArrayList<String>();
List<String> objList = new List<String>(); 我是初学者,谁能告诉我!给我解释一下,谢谢——————————————————————————————该死的CSDN,空格擦死我了List是一个接口,凡接口、抽象类都不能生成对象的。PS:为了以后的扩展性,建议左边放置接口/抽象类,右边new具体的实现类。
ArrayList是实现了List接口的类
这是Java的多态,父类引用指向子类对象
这样代码或许可以说更严格一点吧,至少不用再传Object类型了