-1

我在理解包含来自不同类的对象的数组列表时遇到了问题。我有 6 个对象。所有对象都有 2 个共同的属性。(ID,Type) 每个对象都有自己的属性。我用 2 atr (ID,Type) 创建了 mainObject 类。其他对象扩展了 mainObject,因此它们具有

class mainClass{
    this.id=id;
    this.type=type;
}
class extendedClass extends mainClass{
    super(ID,Type);
    this.atr1=atr1;
}

class extendedClass2 extends mainClass{
    super(ID,type);
    this.atr2=atr2;
    this.atr3=atr3;
}

我从文件中读取信息。

FileInputStream fstream = new FileInputStream("data.txt");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
// Read File Line By Line
while ((strLine = br.readLine()) != null) {
    // Print the content on the console
    String s[] = strLine.split("\\|");
    mainClass myObj = new mainClass(s[0], s[1]);

ArrayList<mainClass> items = new ArrayList<mainClass>();
items.add(myObj);

我需要从文件中逐行读取所有对象并将它们存储在数组列表中。我该怎么做?我试过了ArrayList<Object> list = new ArrayList<Object>,但它不起作用。重点是从文件中读取所有对象,根据选择的属性(id,type)对它们进行排序。

4

1 回答 1

3

你是正确的,你需要一个列表mainClass

ArrayList<mainClass> items = new ArrayList<mainClass>();

但是,您应该将此行放在 while 循环之前,而不是在其中。

ArrayList<mainClass> items = new ArrayList<mainClass>();

while ((strLine = br.readLine()) != null) {
    // etc...
    items.add(myObj);
}
于 2012-11-26T12:33:37.190 回答