繁体   English   中英

Java Netbeans 代码转换

[英]Java Netbeans Code Transformation

我正在 netbeans IDE 上使用 Java。 在 netbeans 代码转换的帮助下,我发现以下代码使用不同的方法显示相同的内容。 以下是代码,这里 a 是一个 ArrayList。

//code 1
for(int j=0;j<a.size();j++)
{
    System.out.println(a.get(j));
}
//code 2
for (Integer a1 : a) {
System.out.println(a1);
}
//code 3
a.stream().forEach((a1) -> {
System.out.println(a1);
});
//code 4
a.stream().forEach(new Consumer<Integer>() {

        @Override
        public void accept(Integer x1) {
            System.out.println(x1);
        }
    });

对于最后一个代码,'java.util.function.Consumer' 被导入。 我想知道这些方法之间有什么显着区别,如果有,那么它们是什么?

创建 Stream 的第三个和第四个代码段会产生一些额外的开销,因此它们的效率会降低一些。

有第 5 个选项是最短的写法:

a.forEach(System.out::println)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM