调用对象时这些括号是什么意思?
What do these parentheses mean when calling an object?
刚看到这个语句,想知道为什么这个函数调用乍一看像强制转换?
SomeClass bo = new SomeClass(); // blabla something like that to initialize the object variable
(bo).setValue(bo.getValue().negate());
因为我还没有见过这种语法 - 与简单的
相比它做了什么
bo.setValue(bo.getValue().negate());
?
(bo).setValue(bo.getValue().negate())
和 bo.setValue(bo.getValue().negate())
是相同的语句,括号在这里是多余的。
虽然我们写
这样的表达式时需要它们
Object o;
(o = new Object()).toString(); // class java.lang.Object
如果我们省略了它们,
Object o;
o = new Object().toString(); // class java.lang.String
刚看到这个语句,想知道为什么这个函数调用乍一看像强制转换?
SomeClass bo = new SomeClass(); // blabla something like that to initialize the object variable
(bo).setValue(bo.getValue().negate());
因为我还没有见过这种语法 - 与简单的
相比它做了什么bo.setValue(bo.getValue().negate());
?
(bo).setValue(bo.getValue().negate())
和 bo.setValue(bo.getValue().negate())
是相同的语句,括号在这里是多余的。
虽然我们写
这样的表达式时需要它们Object o;
(o = new Object()).toString(); // class java.lang.Object
如果我们省略了它们,
Object o;
o = new Object().toString(); // class java.lang.String