我有两个函数,我想调用它们
第一个问题:如果它们都为真,则会执行某些操作(在此示例中添加标记)。打电话给他们是对的吗?
if (getCallId()==1 & getCallState()==1 )
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
public int getCallState()
{
return MiniSipService.m_callState;
}
public int getCallId()
{
return MiniSipService.m_callId;
}
第二个问题:如果我想否定其中一项功能,该怎么办?
答案 0 :(得分:1)
在Java中&
是按位AND,|
是按位OR。对于逻辑运算,您应该使用逻辑运算符&&
和||
。
答案 1 :(得分:1)
使用短路AND运算符更为正确:
if (getCallId()==1 && getCallState()==1 )
甚至更好,更改方法以返回布尔值:
public boolean getCallState()
{
return MiniSipService.m_callState == 1;
}
public boolean getCallId()
{
return MiniSipService.m_callId == 1;
}
并将条件更改为:
if (getCallId() && getCallState())
当然,如果m_callId
和m_callState
可以有两个以上的状态,这种变化就会变得不那么合理,但我认为他们根据你的问题的措辞有两种状态:
如果两者都是真的,我想打电话给他们和 ......