Java为什么char = char ^ char与char ^ = char不同?

时间:2016-11-06 11:36:02

标签: java xor

我正在使用leet代码解决问题,并注意到Java中不允许使用以下代码,

char c = 's';
c = c^c;

以下是

char c = 's';
c^=c;

有特殊原因吗?谢谢你。

1 个答案:

答案 0 :(得分:3)

对于加号或减号也是如此。 c ^ c被评估为int,因此右侧是int,不能分配给char。 在^ =情况下,右侧是char,可以应用于char。 这不是最明显的行为。