=在Java / Android中是什么意思? (位

可能重复:
Java中的快捷方式“or-assignment”(| =)运算符

我在Android SDK文档中找到以下示例代码:

    boolean retValue = false;
    retValue |= mActionBarHelper.onCreateOptionsMenu(menu);
    retValue |= super.onCreateOptionsMenu(menu);

任何人都可以向我展示相当的代码,以证明这是什么?

注:我假设方法调用返回一个布尔值,所以我喜欢看一个例子,这看起来像一个if-else结构。


速记为我or与我分配给我,虽然它是非短路or代替逻辑or 。 因为它可以作为简短版本的分配和或:有时用于布尔值,因为没有|| =。 但重要的注意事项:在这种情况下,即使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;

| 应用于布尔值只是一个简单的布尔OR。

boolean retValue = false;
retValue = retValue | mActionBarHelper.onCreateOptionsMenu(menu);
retValue = retValue | super.onCreateOptionsMenu(menu);
链接地址: http://www.djcxy.com/p/73905.html

上一篇: = in Java / Android mean? (bit

下一篇: What does this operatoer