跳至主要內容
Java Stream转List可以直接toList而不必collect了?

Java Stream转List可以直接toList而不必collect了?

前几天分享了如何优雅的调试Java Stream操作。然后有小伙伴对其中的一段代码有一些疑问:“为啥你的stream可以直接toList而不必collect?” 下面就给大家解读下这个内容。

疑问的代码片段如下:

public class StreamTest {

    @Test
    void test() {
        List<String> list = List.of("blog.didispace.com", "spring4all.com", "openwrite.cn", "www.didispace.com");

        List<String> result = list.stream()
                .filter(e -> e.contains("didispace.com"))
                .filter(e -> e.length() > 17)
                .toList();

        System.out.println(result);
    }

}

程序猿DD原创大约 2 分钟JavaJavaJava 16
Java 16 新特性:record类

Java 16 新特性:record类

以前我们定义类都是用class关键词,但从Java 16开始,我们将多一个关键词record,它也可以用来定义类。record关键词的引入,主要是为了提供一种更为简洁、紧凑的final类的定义方式。

下面就来具体了解record类的细节。

声明record类

声明record类的基础语法:

record range(int start, int end){}

程序猿DD原创大约 3 分钟JavaJavaJava 16
Java 16 新特性:instanceof增强

Java 16 新特性:instanceof增强

instanceof这个关键词,主要用来判断某个对象是不是某个类的实例。

比如,有时候我们要处理一个类似这样的数据集:

Map<String, Object> data = new HashMap<>();
data.put("key1", "aaa");
data.put("key2", 111);

程序猿DD原创大约 2 分钟JavaJavaJava 16