您如何使用Unmodifiable创建Collectors.toList/toSet/toMap列表/集合/ map ,因为toList(等等)的文档格式如下:



在java-10之前,您必须提供一个带有FunctionCollectors.collectingAndThen,例如:

 List<Integer> result = Arrays.asList(1, 2, 3, 4)
            .stream()
            .collect(Collectors.collectingAndThen(
                    Collectors.toList(),
                    x -> Collections.unmodifiableList(x)));

最佳答案

使用Java 10,这更加容易并且可读性强:

List<Integer> result = Arrays.asList(1, 2, 3, 4)
            .stream()
            .collect(Collectors.toUnmodifiableList());

在内部,它与Collectors.collectingAndThen相同,但返回的是Java 9中添加的不可修改List的实例。

关于java - Java-10中的Collectors.toUnmodifiableList,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49106767/

10-10 09:21