Possible Duplicate:
Shortcut “or-assignment” (|=) operator in Java
我在Android SDK文档中找到了以下示例代码:
boolean retValue = false;
retValue |= mActionBarHelper.onCreateOptionsMenu(menu);
retValue |= super.onCreateOptionsMenu(menu);
谁能给我看等效的代码,以演示它的作用?
注意:我假设方法调用返回一个布尔值,所以我想看一个例子,它看起来像一个if-else构造。
最佳答案
我自己的or
的简写并分配给我,尽管它是非短路or
而不是逻辑or
。因为它可以作为分配和或:ing的简短版本,但有时与布尔值一起使用,因为没有|| =。
但重要的一点:在这种情况下,即使retValue可能已经是true
,它也会调用两个方法
因此,等效的(逻辑上的)语句可以是几个,但有些则是:
boolean a = mActionBarHelper.onCreateOptionsMenu(menu);
boolean b = super.onCreateOptionsMenu(menu);
boolean retValue = a || b;
要么
boolean retValue = mActionBarHelper.onCreateOptionsMenu(menu);
retValue = super.onCreateOptionsMenu(menu) || retValue;