我有以下一段Java代码,并且在Eclipse,Windows 7中调试时,变量“ xoredChar”根本没有显示任何值,不是null,不是”,什么也没有。

char xoredChar = (char) (stringA.charAt(j)^stringB.charAt(j));


这是为什么?我需要了解如何在Java中的两个字符之间执行此xor操作。我想念什么?

最佳答案

好吧,如果字符串相等,您会得到一个\0,它不是可打印的字符。试试这个

String stringA = "A";
String stringB = "A";
int j = 0;
char xoredChar = (char) (stringA.charAt(j) ^ stringB.charAt(j));
System.out.printf("'%c' = %d\n", xoredChar, (int) xoredChar);


输出为

' ' = 0

10-02 05:08