def get_overlap(r1,r2):
latest_start=max(r1[0],r2[0])
earliest_end=min(r1[1],r2[1])
delta=(earliest_end-latest_start).days
if delta>0:
return delta+1
else:
return 0
Я нашел, что должен это сделать
public <T extends Collection<Some>> T some(..., T collection) {
final Stream<Some> stream = getStream();
stream.collect(toCollection(() -> collection));
return collection; // this is what I want to do
}
Чтобы я мог это сделать
List<Some> list = some(..., new ArrayList<>();
, я хотел бы объяснить.
public <T extends Collection<Some>> T some(..., Supplier<T> s) { return getStream().collect(toCollection(s)); }
. Затем вы можете написатьList<Some> list = some(..., ArrayList::new);
– Holger 13 July 2018 в 11:31