Streams.allMatch是否与上述Java代码段完全等效?
当然不是!流是思考数据处理的一种非常新的方式。
无论如何,您的问题(与此无关)仅仅是对于任何函数调用而言,都会对参数进行求值,因此of
需要对其求值的调用b.subString(2)
显然会引发NPE。
Java语言规范中的相关信息(重点是我的):
在方法或构造函数调用或类实例创建表达式中,参数表达式可能出现在括号内,以逗号分隔。每个参数表达式似乎都在其右侧任何参数表达式的任何部分之前被 。
为什么Streams.allMatch(在Java8中)试图尝试评估所有表达式,即使可以在中间确定值时也是如此?
Streams.allMatch是否与上述Java代码段完全等效?
当然不是!流是思考数据处理的一种非常新的方式。
无论如何,您的问题(与此无关)仅仅是对于任何函数调用而言,都会对参数进行求值,因此of
需要对其求值的调用b.subString(2)
显然会引发NPE。
Java语言规范中的相关信息(重点是我的):
在方法或构造函数调用或类实例创建表达式中,参数表达式可能出现在括号内,以逗号分隔。每个参数表达式似乎都在其右侧任何参数表达式的任何部分之前被 。