为什么Java中的char = char^char和char^= char不同?

3

我在 LeetCode 上解决问题时注意到以下代码在 Java 中不被允许:

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

以下内容如下:
char c = 's';
c^=c;

有特定的原因吗?谢谢你。
1个回答

3

对于加号或减号同样适用。c^c被计算为int,因此右侧是int类型,不能赋值给char。 在^=的情况下,右侧是char类型,可以应用于char。 这不是最明显的行为。


哦,我明白了。谢谢!这对我来说实际上阐明了复合赋值运算符的一些问题。 - Ayman Elmubark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接