任意の日付に対する月末日までの日付ストリームの生成は、
以下、2通り考えられる。
Stream.iterate で、+1 days する方法
LocalDate d = LocalDate.now(); Stream<LocalDate> s = Stream.iterate(d, e->e.plusDays(1)) .limit(d.lengthOfMonth() - d.getDayOfMonth() + 1);
IntStream で、任意日(day) ~末日で、mapToObj で生成する方法
LocalDate d = LocalDate.now(); Stream<LocalDate> s = IntStream.rangeClosed(d.getDayOfMonth(), d.lengthOfMonth()) .mapToObj(i->LocalDate.of(d.getYear(), d.getMonth(), i));
どちらが良いのか?
どんなに頑張っても31個より大きいストリームではないので、どっちでも良いような気もする。