我一直在研究如何向数组如何动态地将项添加到Java数组?添加元素的问题。
我不明白如何添加类类型的对象,而不是像String
这样的数据类型。当对象病人有不同的数据类型时,我该如何做呢?我无法理解的是,如何将病人对象的属性放入数组中。
Class Patient{
public Patient(String ptNo, String ptName, int procType) throws IOException
{
Patient.patientNo = ptNo;
Patient.patientName = ptName;
Patient.procedureType = procType;
}
}
另一班:
public static void main(String[] args) throws IOException
{
Patient [] patients;
Patient p = new Patient(null, null, 0);
int i = 0;
for (i = 0; i < 2; i++)
{
patients.add(p);
}
}
我知道我错过了显而易见的事情,只有在耗尽了其他资源之后才来到这里。
发布于 2013-11-07 02:54:25
您需要使用索引访问数组。
patients[i] = p;
但在此之前,您也需要初始化它。
Patient [] patients = new Patient[10]; // random init
因为您希望它们是动态的,所以尝试使用ArrayList并继续向其中添加对象。
List<Patient> patients = new ArrayList<>();
patients.add(p);
发布于 2013-11-07 02:59:26
您需要指定如下所示的数组大小
Patient [] patients = new Patient[2];
然后添加如下元素
patients[i] = new Patient(null, null, 0)
完整的代码如下所示
for (int i = 0; i < 2; i++)
{
patients[i] = new Patient(null, null, 0);
}
发布于 2013-11-07 02:55:29
您使用的是数组,而不是ArrayList,因此通过指定索引来添加它们
for (i = 0; i < 2; i++)
{
patients[i] = p;
}
编辑
如果您真的想在字符串中分配相同的对象,甚至可以跳过对象引用,如下
public static void main(String[] args) throws IOException
{
Patient [] patients = new Patient[2];
int i = 0;
for (i = 0; i < 2; i++)
{
patients[i] = new Patient(null, null, 0); // No need for p now
}
}
https://stackoverflow.com/questions/19834046
复制