Java 如何比较一组LocalDate(假日)是否包含给定的MonthDay?

Java 如何比较一组LocalDate(假日)是否包含给定的MonthDay?,java,localdate,Java,Localdate,如何在LocalDate中取消monthDay?我需要在明天内解决这个问题,所以任何帮助都将被感谢 private final Set<MonthDay> recurringHolidays = new HashSet<>(); private final Set<LocalDate> holidays = new HashSet<>(); public void setHoliday(final LocalDate date) {

如何在LocalDate中取消monthDay?我需要在明天内解决这个问题,所以任何帮助都将被感谢

private final Set<MonthDay> recurringHolidays = new HashSet<>();
private final Set<LocalDate> holidays = new HashSet<>();


public void setHoliday(final LocalDate date) {
     holidays.add( date );
}

public void setHolidayIfIsRecurring() {

    for (LocalDate holidayLocalDate: getHolidays())
        for (MonthDay monthDay: getRecurringHolidays()){
            
            LocalDate monthdayToLocalDate = monthDay -------------????
            
            if (!setOfHolidays().contains( monthdayToLocalDate ) ){
                setHoliday( (monthDay) );
            }
        }
}
private final Set recurringHolidays=new HashSet();
私有最终设置假日=新HashSet();
公共假期(最终本地日期){
节假日。添加(日期);
}
公共无效setHolidayIfIsRecurring(){
对于(LocalDate holidayLocalDate:getHolidays())
对于(MonthDay MonthDay:getRecurringHolidays()){
LocalDate monthdayToLocalDate=monthDay---------------------------------------????
如果(!setOfHolidays().包含(monthdayToLocalDate)){
setHoliday((月日));
}
}
}
LocalDate
→ <代码>月日 你可以用。例如:

import java.time.LocalDate;
导入java.time.MonthDay;
公共班机{
公共静态void main(字符串[]args){
LocalDate=LocalDate.of(2020,6,20);
MonthDay md=MonthDay.from(日期);
系统输出打印LN(md);
}
}
这将产生:

--6-20

MonthDay
→ <代码>本地日期 这里的问题是
MonthDay
显然只代表一个月和一个月中的一天,而
LocalDate
另外代表一年。您需要决定如何确定应使用哪一年。一旦您知道这一点,则有两种选择:

  • ,或
例如:

import java.time.LocalDate;
导入java.time.MonthDay;
导入java.time.Year;
公共班机{
公共静态void main(字符串[]args){
MonthDay md=MonthDay.of(6,20);
年份=年份(2020年);
LocalDate date1=md.atYear(year.getValue());
LocalDate date2=年。月日(md);
系统输出打印项次(日期1);
系统输出打印项次(日期2);
}
}
这将产生:

2020-06-20
2020-06-20

两者都有。首先,我需要检查一组LocalDates(假日)是否包含Monthday(重复假日)。如果没有,那么我需要在当前年份的Localdate中添加一个Monthday,并使用setHoliday()接收新的Localdate。我知道如何将Localdate转换为Monthday,但不能反转否我的意思是只为当前年份创建一个新的Localdate,就像2020年使用year.now()一样并将Monthday添加到新的localdate中,然后使用setHoliday(localdate),它将接收新创建的localdate