-3

我在将“行”类中的元素添加到“表”类中时遇到了一些问题。类 Table 扩展了 ArrayList,因此 arrayList 的每个元素都应该包含一个类 Row。如果我创建一个类表并手动运行 addApplicant(Row app) 方法,我可以添加一个行。但是,我希望行在创建后立即自动添加到类表中。到目前为止,这是我的代码: Table 类:

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();
        }
}}

关于我缺少什么的任何想法?谢谢你的帮助。

4

1 回答 1

2

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

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

并打电话

table.addApplicant(this);

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

于 2013-02-25T14:33:05.207 回答