Java为什么char = char^char与char^= char不同?
问题描述:
我解决莱特代码中的问题,发现下面的代码是Java不允许,Java为什么char = char^char与char^= char不同?
char c = 's';
c = c^c;
而下面是
char c = 's';
c^=c;
有什么特别的原因?谢谢。
答
这对加号或减号也是如此。 c^c被评估为int,所以右边是int并且不能被分配给char。 在^ =的情况下,右边是char,并且可以应用到char上。 这不是最明显的行为。
哦,我明白了。谢谢!这实际上为我提供了一些关于复合赋值操作符的信息。 –