只是碰到了这个语句,想知道为什么这个函数调用起初看起来像是强制转换?
SomeClass bo = new SomeClass(); // blabla something like that to initialize the object variable
(bo).setValue(bo.getValue().negate());
由于我还没有看到这种语法-与简单语法相比有什么作用
bo.setValue(bo.getValue().negate());
?
答案 0 :(得分:7)
(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