は現在、私は読み取りおよび書き込みfutureMeetingArrayとpastMeetingArrayをし、後でgetMeetingListOn方法でそれらを呼び出すしようとしています。このメソッドは、同じ日付のミーティングを見つけて配列に追加し、その配列を返す必要があります。しかし、現時点ではこれを見つけることはできません(これまでのところ、私は未来のミーティング・アレイでしかテストしていません)。また、addFutureMeetingメソッドを追加して、futureArrayListを追加してからシリアライズする方法を説明しました。それぞれのFutureMeetingオブジェクトには、グローバルなカレンダ変数があります。これはゲッターとセッターを介して呼び出しています。それを明確にするなら、私はこのコードを提供することができます。シリアライズの問題
誰もが、それは日付を見つけていない理由を示唆することができれば、私は感謝されます。
public class ContactManagerImpl implements ContactManager {
Calendar date;
List<Meeting> futureMeetingArray = new ArrayList<Meeting>();
List<PastMeetingImpl> pastMeetingArray = new ArrayList<PastMeetingImpl>();
List<Contact> allContacts = new ArrayList<Contact>();
@Override
public int addFutureMeeting(Set<Contact> contacts, Calendar date) {
readSerializedData();
int ID = (int)(Math.random()*500 + 1000);
FutureMeetingImpl fm = new FutureMeetingImpl(contacts, ID, date);
futureMeetingArray.add(fm);
makeNewFolder();
try {
FileOutputStream fileOut = new FileOutputStream("./serialized/newfuturemeeting1.out");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(futureMeetingArray); //This is so I can use later methods down where you need to get specific meetings in list form
out.close();
fileOut.close();
}catch(IOException i) {
i.printStackTrace();
}
contactAdder(contacts);
return ID;
}
@Override
public List<Meeting> getMeetingListOn(Calendar date) {
readSerializedData();
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
String formatted = format1.format(date.getTime());
List<Meeting> meetings = new ArrayList<Meeting>();
Meeting currentMeeting = futureMeetingArray.get(0);
if(futureMeetingArray.size() > 0){
for(int x = 0; x < futureMeetingArray.size(); x++){
currentMeeting = futureMeetingArray.get(x);
Calendar currentMeetingsDate = currentMeeting.getDate();
System.out.println("s");
if(currentMeetingsDate == date){
System.out.println("Adding future");
meetings.add(currentMeeting);
}
}
}
for (int p = 0; p < pastMeetingArray.size(); p++){
Meeting currentMeetingPast = new PastMeetingImpl();
SimpleDateFormat format3 = new SimpleDateFormat("yyyy-MM-dd");
String formatted3 = format3.format(currentMeetingPast.getDate());
System.out.println(formatted3);
if(formatted3 == formatted){
System.out.println("Adding future");
meetings.add(currentMeetingPast);
}
}
for(int y = 0; y < meetings.size(); y++){
Meeting meetingPrint = meetings.get(y);
System.out.println("Your list of meetings include meeting IDs: " + meetingPrint.getId());
}
return meetings;
}
}
これは、直列化の問題ではないかもしれない - 私は正しくCalendarクラスを使用するために失敗することができます。もし誰かがこれを使うことに関する情報があれば、私はそれを感謝します – BitLord