Java multi-line.method()语法是如何工作的?

Java multi-line.method()语法是如何工作的?,java,Java,我很好奇Java是如何读取以下代码的 return arrayList.stream() .mapToInt(Integer::intValue) .toArray(); 代码来自 这是否等同于将所有内容放在同一行上,但更具可读性,还是每次返回到下一行都会改变优先级、顺序或执行 我希望是前者,但我仍在与溪流和地图作斗争 (还有,应该如何缩进?额外的空格在Java中从来都不重要,您可以随时将任意多的换行符或空格放在任意位置,这将永远不会影响代码的执行 因此: return a

我很好奇Java是如何读取以下代码的

return arrayList.stream() 
    .mapToInt(Integer::intValue) 
    .toArray();
代码来自

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

我希望是前者,但我仍在与溪流和地图作斗争


(还有,应该如何缩进?

额外的空格在Java中从来都不重要,您可以随时将任意多的换行符或空格放在任意位置,这将永远不会影响代码的执行

因此:

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

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

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

你可以先写
arrayList
然后写五百万个空格,然后再写
.stream()
,结果也是一样的。这是等价的。此处的空白(包括新行)不相关。“行”一直运行到
。在Java中,空格和换行符并不重要,因此代码完全等同于同一行中没有空格的代码。在Java中,语句用分号分隔。这样的空白几乎毫无意义,也被忽略了,就像所有的空白都在一条线上一样。分号表示语句的结尾,所以空格不重要。