【发布时间】:2015-11-20 19:15:52
【问题描述】:
最近我发现一些负字节隐藏在我的代码中的 Java 字符串中,这导致 .equals 字符串比较失败。
字符串中的负字节值有什么意义?他们有什么意思吗?在任何情况下,字符串中的负字节值可以被解释为任何东西?我是这个编码业务的菜鸟,所以如果需要解释不同的编码方案,请随意。
【问题讨论】:
-
Java 字节已签名。
-
是什么让您认为它导致相等比较失败?更重要的是,Java 字符串是由字符组成的,而不是字节。
-
当你谈到字节在 Java 字符串中时,你的意思是什么? Java 字符串由无符号 16 位字符构成。
-
使用 CompareTo 语句,您可以看到一个字符的值是多少。与“a”相比,空格之类的东西会返回一个负数。只是说...