在另一个类中向ArrayList添加一个类

时间:2013-02-25 14:29:29

标签: java class arraylist extends

我在将我的班级“Row”中的元素添加到我的班级“Table”时遇到了一些麻烦。类表扩展了ArrayList,因此arrayList的每个元素都应该包含一个Row类。 如果我创建一个类表并手动运行addApplicant(行应用程序)方法,我可以添加一行。但是我希望一行能够在创建时自动将其自身添加到类表中。 到目前为止,这是我的代码: 表类:

public class Table extends ArrayList<Row>{

public String appArray[];

/**
 * Constructor for objects of class Table
 */
public Table()
{
}

public void addApplicant(Row app)
{
    add(app);
}

public void listArray() //Lists the Array[]
{
    for(int i = 0; i<appArray.length; i++)
    {
        System.out.println(appArray[i]);
    }
}}

行类:

public class Row{

private String appNumber;
private String name;
private String date;
private String fileLoc;
private String country;
public ArrayList<String> applicant;

public Row(String appNumber, String name, String date, String fileLoc, String country)
{
    this.appNumber = appNumber;
    this.name = name;
    this.date = date;
    this.fileLoc = fileLoc;
    this.country = country;
    applicant = new ArrayList<String>();
    applicant.add(appNumber);
    applicant.add(name);
    applicant.add(date);
    applicant.add(fileLoc);
    applicant.add(country);
}

private void convertToString()
{
    for(int i = 0; i<applicant.size(); i++)
        {
            String appStr = applicant.toString();
        }
}}

我缺少什么想法?谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

您没有引用表类。您可以做的是请求将Table对象传递给构造函数,因此您的构造函数将如下所示:

 public Row(String appNumber, String name, String date, String fileLoc, String country, Table table)

并致电

table.addApplicant(this);

当您完成将信息加载到行Object中时。这将在表中添加对此行对象的引用:)