2013-08-28 25 views
0

的ArrayList的存在,我想驗證一個日曆日期不在日曆的Java中的ArrayList中,我這樣做,但它不是爲我工作:發現,如果日期的值在日曆

List<Calendar> listFeriers = new ArrayList<Calendar>(); 
startCal = Calendar.getInstance(); 
startCal.setTime(beginningDate); 
endCal = Calendar.getInstance(); 
endCal.setTime(endDate); 
do { 
    if (!listFeriers.contains(startCal)) { 
     // Traitement 
    } 
} while (startCal.before(endCal)); 
+2

您的列表不是空的嗎? – kosa

+0

Nambari是對的,你沒有什麼可以比較你的日期和你的listFeriers。現在,如果您預先填充listFeriers列表,然後檢查您可以。 – Kevin

回答

1
List<Calendar> listFeriers = new ArrayList<Calendar>(); 

我希望你在某處填充listFeriers。

您可以將時間存儲在列表中的毫秒(getTimeInMillis)中,而不是創建太多日曆對象。您可以使用set來避免重複的時間條目。

Set<Long> listFeriers = new HashSet<Long>(); 

if(listFeriers.contains(startCal.getTimeInMillis())){ 
    // A match.. 
} 
+0

_「...而不是存儲整個日曆...」 - 一個列表僅包含引用。 –

+0

好的。編輯。 –