package com.whn.hellospring.utils;
|
|
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
import java.util.Optional;
|
|
import java.util.stream.Collector;
|
|
|
|
public class MyOptional {
|
|
|
|
public static <T> List<T> toList(Optional<T> option) {
|
|
return option.
|
|
map(Collections::singletonList).
|
|
orElse(Collections.emptyList());
|
|
}
|
|
|
|
public static <R, A, T> R collect(Optional<T> option, Collector<? super T, A, R> collector) {
|
|
final A container = collector.supplier().get();
|
|
option.ifPresent(v -> collector.accumulator().accept(container, v));
|
|
return collector.finisher().apply(container);
|
|
}
|
|
}
|