由于与字符“”的int值不同,java字符串比较失败
我在junit测试中测试后缀表达式,输出相同,但junit仍然失败。我检查了expected和actual的char[],发现字符“-”的值不同
Actual = 4 8 + 6 5 - * 3 2 - 2 2 + * /
Expected = 4 8 + 6 5 - * 3 2 - 2 2 + * /
现在两个字符串中都有“-”字符
[0] = '4' 52
[1] = ' ' 32
[2] = '8' 56
[3] = ' ' 32
[4] = '+' 43
[5] = ' ' 32
[6] = '6' 54
[7] = ' ' 32
[8] = '5' 53
[9] = ' ' 32
**[10] = '-' 45**
[11] = ' ' 32
[12] = '*' 42
[13] = ' ' 32
[14] = '3' 51
[15] = ' ' 32
[16] = '2' 50
[17] = ' ' 32
**[18] = '–' 8211**
[19] = ' ' 32
如果您查看char[]元素10和18,它们都有相同的char,但int值不同
当我进行字符对字符的比较时,它在[18]字符数组索引处失败
我正在Mac mavericks OS和jdk 1.6 update 65上运行测试用例
有谁能告诉我这是JDK1.6在mac os上的bug还是别的什么
# 1 楼答案
他们是不同的人物。一个是小破折号,另一个是长破折号