jshell> LocalDate.of(2017,1,31).datesUntil(LocalDate.of(2018,1,1),Period.ofMonths(1)). ...> filter(d -> d.getDayOfMonth() != 31). ...> map(LocalDate::getMonth). ...> toArray() $163 ==> Object[5] { FEBRUARY, APRIL, JUNE, SEPTEMBER, NOVEMBER }
あ、ふつうにこれでよかった
jshell> Arrays.stream(Month.values()).filter(m -> m.maxLength() != 31).toArray() $165 ==> Object[5] { FEBRUARY, APRIL, JUNE, SEPTEMBER, NOVEMBER }