experiment5.dataStruct.MeetingData 必须有一个默认构造函数 也就是 public MeetingData (){} 这样的函数,
因为 以后 unmarshal 的时候 是 用类似 Class.forName("experiment5.dataStruct.MeetingData").newInstance().readObject(in);这样的方式来恢复对象状态的 ,这个时候没有任何参数传入。
因为 以后 unmarshal 的时候 是 用类似 Class.forName("experiment5.dataStruct.MeetingData").newInstance().readObject(in);这样的方式来恢复对象状态的 ,这个时候没有任何参数传入。
public class MeetingData implements java.io.Serializable{ public int meetingID; //会晤id public Timestamp start; // 起始时间 public Timestamp end; // 结束时间 public String label; //会晤标题 public String initedUser; // 会晤发起者 public String bookedUser; // 会晤对象 public MeetingData() { }
public MeetingData(int meetingID, String initedUser, String bookedUser,
Timestamp start, Timestamp end, String label) {
this.meetingID = meetingID;
this.initedUser = initedUser;
this.bookedUser = bookedUser;
this.start = start;
this.end = end;
this.label = label;
} public void dispalyMeeting() {
System.out.println(meetingID + " " + initedUser + " " +
bookedUser + " " + start.toString() + " " +
end.toString() + " " + label);
}}
这里建议你不要在你的MeetingData使用构造函数,这是个不好的思维
你可以在你的记录集的循环中使用:
ArrayList list=new ArrayList();
while(rst.next()) {
MeetingData data=new MeetingData();
data.setXXX(rs.getString("xxx"));
.....
list.add(data);
}
这样不是很好吗?