我的 Java 应用程序有一个字节打包的 String 对象,该对象是从通过外部连接接收的远程数据组装而来的。字符串是组装的,如下所示:byte[] buffer = new byte[20];/* ... buffer is loaded ... */int j = 9;String strVal = "";for( i=0; i<8; i++ ){ strVal += (char)buffer[j++];}strVal += '\0';稍后,我需要验证接收到的数据,但是当我尝试执行以下操作时,它返回 false。缓冲区中的数据和内容(至少是我在调试器中可以看到的内容)都是我所期望的。有什么想法吗?strValreturn strVal.equals("STR GOOD"); // evaluates as false when should be true
2 回答

白衣非少年
TA贡献1155条经验 获得超0个赞
不要追加 0,在循环中使用 i:
byte[] buffer = new byte[20];
/* ... buffer is loaded ... */
String strVal = "";
for (int i = 0; i < 8; i++) {
strVal += (char) buffer[i];
}
添加回答
举报
0/150
提交
取消