Java 查找日历的arraylist中是否存在日期值

Java 查找日历的arraylist中是否存在日期值,java,calendar,Java,Calendar,我想验证一个日历日期是否不在java日历的Arraylist中,我这样做了,但它对我不起作用: List<Calendar> listFeriers = new ArrayList<Calendar>(); startCal = Calendar.getInstance(); startCal.setTime(beginningDate); endCal = Calendar.getInstance(); endCal.setTime(endDate); do {

我想验证一个日历日期是否不在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));
List listFeriers=new ArrayList();
startCal=Calendar.getInstance();
startCal.setTime(开始日期);
endCal=Calendar.getInstance();
endCal.设置时间(endDate);
做{
如果(!listFeriers.contains(startCal)){
//叛徒
}
}while(startCal.before(endCal));
列表列表编辑器=新的ArrayList();
我希望你能在某个地方找到listFeriers

您可以在列表中以毫秒(getTimeInMillis)为单位存储时间,而不是创建太多的日历对象。可以使用set避免重复的时间条目

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

if(listFeriers.contains(startCal.getTimeInMillis())){
    // A match..
}
Set listFeriers=new HashSet();
if(listFeriers.contains(startCal.getTimeInMillis()){
//火柴。。
}

您的列表不是空的吗?Nambari是对的,您没有任何东西可以在列表中比较日期。现在,如果您预先填充listFeriers列表,然后检查是否可以。“…而不是存储整个日历…”-列表只包含引用。
Set<Long> listFeriers = new HashSet<Long>();

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