Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java new object.method()为什么不是一个错误?_Java - Fatal编程技术网

java new object.method()为什么不是一个错误?

java new object.method()为什么不是一个错误?,java,Java,对不起,我的英语口语水平很低。 例如: new StringBuilder().reverse().toString(); 运算符在new之前,因此没有要执行的对象方法(),为什么可以正确执行?它没有告诉我这是一个错误。在新建StringBuilder()之前未对运算符进行求值-它是从左到右求值的。因此new StringBuilder()创建一个StringBuilder实例,.reverse()反转(空的)StringBuilder,然后.toString()构造一个(空的)字符串 运算符

对不起,我的英语口语水平很低。 例如:

new StringBuilder().reverse().toString();

运算符
new
之前,因此没有要执行的对象
方法()
,为什么可以正确执行?它没有告诉我这是一个错误。

新建StringBuilder()之前未对
运算符进行求值-它是从左到右求值的。因此
new StringBuilder()
创建一个
StringBuilder
实例,
.reverse()
反转(空的)
StringBuilder
,然后
.toString()
构造一个(空的)
字符串

运算符“.”早于
new

不,不是。运算符
不在
新的
之前:它们都是
主要的
,因此它们具有相同的优先级,因此从左到右求值

为什么这可以正确执行

真正的问题是为什么它可以被编译,我已经回答了

它没有告诉我这是个错误


这不是一个错误。

您的问题不清楚,也没有什么意义。很明显,操作员
没有在
新的
之前。事实上,它们都是
初级
,所以它们的优先级相同,所以它们从左到右求值。@Rahul-对我来说,初学者的这个问题显然是有道理的。我仍然记得我开始(用java)编程时提出的愚蠢问题。@Rahul这个问题非常清楚。这只是基于一个错误。“我有一个假设,这证明是不正确的。为什么证明是不正确的?”回答:你的假设是错误的,而不是证明