arrayList(Rental) からではなく、arrayList(Resort) の利用可能な日付のみを取得したかったのです。残念ながら、両方を比較することはできませんでした。得られる出力は arrayList(Rental) です。
public static void listavailableResort(ArrayList resortList, ArrayList rentalList)
{
Resort rt;
Rental rl;
Person p;
boolean availresort = false;
boolean availrental = false;
//viewing available resortList from rentalList
for (int i = 0; i<resortList.size();i++)
{
availresort = true;
rt =(Resort)resortList.get(i);
for (int k = 0; k< rentalList.size();k++)
{
availrental = true;
rl = (Rental)rentalList.get(k);
//Compare between the user entered and the rentalList
//start is arrivaldate end is departuredate
if(((!(start.equals(rl.getarrivalDate())))&&(!(end.equals(rl.getDepartureDate()))))||((start.before(rl.getarrivalDate()))&&(end.before(rl.getDepartureDate()))) || ((start.after(rl.getarrivalDate())))&&(end.after(rl.getDepartureDate())))
{
rt = rl.getresort();
if (rt instanceof Chalet)
{
//how to check if two date are equals
Chalet t = (Chalet)rt;
System.out.println((i+1)+"\t"+t.getresortID()+"\t"+t.getblock()+"\t"+t.getunitNumber());
}
else if(rt instanceof Bungalow)
{
Bungalow b =(Bungalow)rt;
System.out.println((i+1)+"\t"+b.getresortID()+"\t\t"+b.getblock()+"\t\t\t\t"+b.getwifi()+"\t\t "+b.getrate());
}
}
else
{
if (rt instanceof Chalet)
{
//how to check if two date are equals
Chalet t = (Chalet)rt;
System.out.println((i+1)+"\t"+t.getresortID()+"\t"+t.getblock()+"\t"+t.getunitNumber());
}
else if(rt instanceof Bungalow)
{
Bungalow b =(Bungalow)rt;
System.out.println((i+1)+"\t"+b.getresortID()+"\t\t"+b.getblock()+"\t\t\t\t"+b.getwifi()+"\t\t "+b.getrate());
}
}
}
コーディングが面倒な場合は申し訳ありません...入力(スキャナー)と配列リスト(レンタルリスト(到着日と出発日)から取得)を比較する方法を知る必要があるだけです
どうもありがとう