调用对象时这些括号是什么意思?

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