我想创建一个包含三个int和一个String的自定义对象,并将该对象存储在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
}
答案 0 :(得分:2)
这是因为两个主要原因。
首先,1,2,10,conference
不是FacilityInfo
对象。您无法将FacilityInfo
的参数添加到List
,您必须添加实际对象。
其次,您不能在代码块之外使用语句,而且目前您直接在类主体中调用fac.add(...);
。
尝试类似:
public class DataAccess {
List<FacilityInfo> fac = new ArrayList<FacilityInfo>();
public void initializeFac() {
fac.add(new FacilityInfo(1,2,10,"conference"));
// etc.
}
}