Meg*_*roX 4 java types char xor
我不确定在 Java 中的字符之间应该如何“正确”完成异或运算。我见过其他人这样做,但是当我有一些简单的事情时:
char a = 'a';
char b = 'b';
char c = (char) a ^ b;
Run Code Online (Sandbox Code Playgroud)
我收到“从 int 到 char 的可能有损转换”编译错误。我不确定如何将整数带入这种情况。
当您^在 a 上使用时char,操作是在char的 int 值中完成的。
由于运算符的优先级,强制转换在^.
这意味着它编译为
((char) a) ^ b
Run Code Online (Sandbox Code Playgroud)
由于首先进行转换,所以int最后才发生对 an 的提升,并且您将尝试将 an 分配int给 achar
你想使用括号:
char c = (char) (a ^ b);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
160 次 |
| 最近记录: |