在 ArrayList 中存储具有不同原始类型的自定义对象
storing custom object with different primitive types in ArrayList
我想创建一个包含三个整数和一个字符串的自定义对象,并将该对象存储在 arrayList 中,但我似乎遇到了问题,并且无法在线找到与我的问题完全相关的文档。我在 fac.add 上遇到错误。这是代码
**对代码做了一些修改
package facility;
import dal.DataAccess;
public class FacilityInfo implements Facility {
private int buildingNo, roomNo, capacity;;
private String type; //classroom, conference room, office, etc.
FacilityInfo(){}//default constructor
FacilityInfo(int b, int r, int c, String t){
this.buildingNo = b;
this.roomNo = r;
this.capacity = c;
this.type = t;
}
package dal;
import java.util.*;
import facility.FacilityInfo;
public class DataAccess {
List<FacilityInfo> fac = new ArrayList<FacilityInfo>();
fac.add(new FacilityInfo (1,2,10,conference));//changed code here
}
主要有两个原因。
首先,1,2,10,conference
不是 FacilityInfo
对象。您不能将 FacilityInfo
的参数添加到 List
,您必须添加一个实际对象。
其次,你不能在代码块之外有语句,目前你正在 class 主体中直接调用 fac.add(...);
。
试试这样的:
public class DataAccess {
List<FacilityInfo> fac = new ArrayList<FacilityInfo>();
public void initializeFac() {
fac.add(new FacilityInfo(1,2,10,"conference"));
// etc.
}
}
我想创建一个包含三个整数和一个字符串的自定义对象,并将该对象存储在 arrayList 中,但我似乎遇到了问题,并且无法在线找到与我的问题完全相关的文档。我在 fac.add 上遇到错误。这是代码
**对代码做了一些修改
package facility;
import dal.DataAccess;
public class FacilityInfo implements Facility {
private int buildingNo, roomNo, capacity;;
private String type; //classroom, conference room, office, etc.
FacilityInfo(){}//default constructor
FacilityInfo(int b, int r, int c, String t){
this.buildingNo = b;
this.roomNo = r;
this.capacity = c;
this.type = t;
}
package dal;
import java.util.*;
import facility.FacilityInfo;
public class DataAccess {
List<FacilityInfo> fac = new ArrayList<FacilityInfo>();
fac.add(new FacilityInfo (1,2,10,conference));//changed code here
}
主要有两个原因。
首先,1,2,10,conference
不是 FacilityInfo
对象。您不能将 FacilityInfo
的参数添加到 List
,您必须添加一个实际对象。
其次,你不能在代码块之外有语句,目前你正在 class 主体中直接调用 fac.add(...);
。
试试这样的:
public class DataAccess {
List<FacilityInfo> fac = new ArrayList<FacilityInfo>();
public void initializeFac() {
fac.add(new FacilityInfo(1,2,10,"conference"));
// etc.
}
}