Java9で小の月を列挙する

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 }