我在ArrrayList中遇到问题。请帮忙。
一个测试程序,其中有两个数据类型String和int, 当通过add方法添加项时,它会给我错误; 如果添加了Integer类型ArrayList中的方法add(int,Test)不适用于参数(int) 如果String是add,则给出 类型ArrayList中的方法add(Test)不适用于参数(String)
public cl* Test {
String firstName;
int rollNum;
public static void main(String[] args) {//this ArrayList work fine
ArrayList<Integer> Num=new ArrayList<Integer>();
for (int i = 0; i <10; i++) {
Num.add(i);
}
for (int i = 0; i < Num.size(); i++) {
System.out.print(Num.get(i));
}//this ArrayList work fine
ArrayList<String> Num2=new ArrayList<String>();
Num2.add("ali");
Num2.add("2");
ArrayList<Test> Num1=new ArrayList<Test>();
Num1.add("Char"); // now it generate Error
}
答案 0 :(得分:1)
在最后一个语句中,您创建了一个类型为Test
ArrayList<Test> Num1=new ArrayList<Test>();
所以将Test
个对象插入其中
例如: -
Test test = new Test();
test.setFirstName("ABC");
test.setRollNo(23);
ArrayList<Test> Num1 = new ArrayList<Test>();
Num1.add(test);
答案 1 :(得分:1)
ArrayList<Integer> a means -> Creating an ArrayList of Integer objects.
ArrayList<String> b means -> Creating an ArrayList of String objects.
类似地,
ArrayList<Test> c means -> Creating an ArrayList of Test objects.
因此,您需要创建一个Test对象,以便将其添加到c列表中,因为它需要Test对象。
现在,
/* If you have this parameterized constructor.
I suggest you to have it if you dont have. */
Test obj = new Test("Fname",10);
obj现在可以插入到c对象中。这可以使用的add方法实现 ArrayList类。
c.add(obj); //Adds the object 'obj' to the ArrayList 'c'
这不会给出错误。