有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

由于与字符“”的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) 个答案

  1. # 1 楼答案

    他们是不同的人物。一个是小破折号,另一个是长破折号