所以我最近开始学习java并且正在学习Array List。
假设我有两个A和B类。在A类中,我有两个属性,即字符串类型'name'和int类型'age'。
在B类中,我有一个数组列表,我想要做的是在数组列表中添加name和age的值。
我该怎么做呢?如何在一个数组列表中添加不同类型的数据? 以下是我编写的两个类中的代码,但编译器给出错误。
public class A {
public String name;
public int age;
public input()
{
name = "ALI";
age = 20;
}
}
public class B{
A obj = new A();
ArrayList aa = new ArrayList(); //error here
aa.add(obj.name); //error here
}
答案 0 :(得分:0)
您需要创建 A类的对象,然后将其添加到B类中定义的列表中,这可以使用A的字段值完成,甚至可以使用 getters更好地完成
public class Tester {
public String name;
public int age;
public Tester()
{
name = "ALI";
age = 20;
}
public static void main(String[] args) {
List<String> myList = new ArrayList<String>();
Tester t = new Tester();
myList.add("Name: "+t.name+"; Age: "+t.age);
System.out.println(myList);
}
}
类测试程序与 A类相同,主方法中的代码段可以移动到另一个类B
答案 1 :(得分:0)
首先,您必须初始化A类的对象。
A obj=new A();
然后,您可以通过调用input()方法将值分配给A类型对象。
obj.input();
然后你应该在B中的ArrayList中给出元素的类型。因为你想把字符串放在 aa ArrayList中,所以应该将类型指定为 ArrayList <String>
< /强>
ArrayList<String> aa = new ArrayList<String>(); //error here
aa.add(obj.name);
注意:如果要在一个ArrayList中添加不同类型的对象,则必须学习多态的概念,因为您不熟悉Java。最简单但不推荐的方法是使用类型为 Object 的ArrayList,它是所有Java类的父类。
ArrayList<Object> list=new ArrayList<Object>();
现在您可以在此列表中添加任何内容。
String a="example";
list.add(a);
int b=10;
list.add(b);
依旧......
答案 2 :(得分:0)
您的代码段不太清楚。我假设你正在尝试这样做。
ClassB的
import java.util.ArrayList;
class ClassB {
public String name;
public int age;
public ClassB() {
name = "ALI";
age = 53;
}
}
ClassA的
public class ClassA {
public static void main(String[] args) {
ClassB obj = new ClassB();
ArrayList aa = new ArrayList();
aa.add(obj.age); // int
aa.add(obj.name); // string
aa.add(15.2); // float
}
}
如果你注意到在arraylist中也添加了float。如您要添加其他数据类型。只要您没有为任何集合类指定任何特定的通用数据类型。您可以添加任何数据类型。