【发布时间】:2013-02-21 22:09:29
【问题描述】:
我在将“行”类中的字符串添加到“表”类时遇到了一些问题。因此,每次我创建一个名为 row 的类时,它都会将提交的字符串添加到“Table”类的同一个实例中。 这是我的 Row 类:
public class Row extends ArrayList<Table>{
public ArrayList<String> applicant;
public String row;
/**
* Constructor for objects of class Row
*/
public Row()
{
applicant = new ArrayList<String>();
convertToString();
applicants(row) //<------ This is the arrayList in the Table class that i wish to add the row to
}
private void convertToString()
{
for(int i = 0; i<applicant.size(); i++)
{
row = applicant.toString();
}
}
}
这是我的“行”类:
public class Table {
public ArrayList<String> applicants;
public String appArray[];
/**
* Constructor for objects of class Table
*/
public Table() {
applicants = new ArrayList<String>();
}
public void addApplicant(String app) {
applicants.add(app);
toArray();
}
public void toArray() {
int x = applicants.size();
appArray = applicants.toArray(new String[x]);
}
public void list() // Lists the arrayList
{
for(int i = 0; i < applicants.size(); i++) {
System.out.println(applicants.get(i));
}
}
public void listArray() // Lists the Array[]
{
for(int i = 0; i < appArray.length; i++) {
System.out.println(appArray[i]);
}
}
}
任何帮助将不胜感激。
【问题讨论】:
-
类命名的方式看起来就像一行是表的集合。你的意思是
public class Table extends ArrayList<Row>吗? -
你不能省略 .convertToString() 的东西吗?如果你传入一个
ArrayList<String>(你刚刚创建的实际上是空的),你可能真的不需要转换它。而且,您似乎在 Row() 的构造函数中将申请者用作全局变量,这很不寻常。 -
@SamDufel 你是对的。我希望一个表是行的集合。然而,我现在做出了改变。当我在表类中编译方法 toArray() 时出现错误? “Table 中的 toArray() 无法实现 java.util.List 中的 toArray() 返回类型 void 与 java.lang.Object[] 不兼容”
标签: java arrays string class arraylist