多行.method()语法如何工作?

时间:2019-05-10 09:26:05

标签: java

我很好奇Java如何读取类似以下代码的内容。

return arrayList.stream() 
    .mapToInt(Integer::intValue) 
    .toArray();

来自https://www.geeksforgeeks.org/remove-an-element-at-specific-index-from-an-array-in-java/的代码

这是否等同于将所有内容放在同一行上,但更具可读性,还是每个返回下一行都会更改优先级,顺序或执行?

我希望是前者,但是我仍然在流和地图上挣扎

(而且,您应该如何缩进它?)

1 个答案:

答案 0 :(得分:6)

额外的空格在Java中从来都不重要,您可以随时在任意位置放置尽可能多的换行符或空格,并且绝不会影响代码的执行。

所以这个:

return arrayList.stream() 
    .mapToInt(Integer::intValue) 
    .toArray();

等于这个:

return arrayList.stream().mapToInt(Integer::intValue).toArray();

这:

return
         arrayList.       stream()   .    mapToInt(     Integer :: intValue) .
                            toArray    (     ) ;