为了账号安全,请及时绑定邮箱和手机立即绑定

在Java中创建“逻辑异或”运算符

在Java中创建“逻辑异或”运算符

慕侠2389804 2019-11-23 13:14:32
观察结果:Java具有逻辑AND运算符。Java具有逻辑或运算符。Java具有逻辑NOT运算符。问题:据sun称,Java没有逻辑XOR运算符。我想定义一个。方法定义:作为一种方法,其简单定义如下:public static boolean logicalXOR(boolean x, boolean y) {    return ( ( x || y ) && ! ( x && y ) );}方法调用:通过以下方式调用此方法:boolean myVal = logicalXOR(x, y);操作员用法:我宁愿有一个运算符,其用法如下:boolean myVal = x ^^ y;题:关于如何在Java中定义新的运算符,我找不到任何东西。我应该从哪里开始?
查看完整描述

3 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

Java具有逻辑AND运算符。

Java具有逻辑或运算符。


错误。


Java有


两个逻辑AND运算符:正常AND为&和短路AND为&&,和

两个逻辑OR运算符:普通OR为| 并且短路OR为||。

XOR仅以^形式存在,因为不可能进行短路评估。


查看完整回答
反对 回复 2019-11-23
?
慕斯王

TA贡献1864条经验 获得超2个赞

也许你误解了差异之间&和&&,|和|| 快捷运营商的目的&&,并||是第一个操作数的值可以决定结果,因此并不需要第二个操作数并进行评估。


如果第二个操作数将导致错误,则这特别有用。例如


if (set == null || set.isEmpty())

// or

if (list != null && list.size() > 0)

但是,使用XOR时,您始终必须评估第二个操作数才能得到结果,因此唯一有意义的操作是^。


查看完整回答
反对 回复 2019-11-23
  • 3 回答
  • 0 关注
  • 886 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信