Optional转换成list或者set的方法

package com.example.demo;

import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collector;

public class MyOptional {

    public static  List toList(Optional option) {
        return option.
                map(Collections::singletonList).
                orElse(Collections.emptyList());
    }

    public static  R collect(Optional option, Collector collector) {
        final A container = collector.supplier().get();
        option.ifPresent(v -> collector.accumulator().accept(container, v));
        return collector.finisher().apply(container);
    }
}

optional是一个集合,可以转换成list,set。使用上篇的静态方法。

 

你可能感兴趣的:(java,java8)