我的 Java 應(yīng)用程序有一個(gè)字節(jié)打包的 String 對(duì)象,該對(duì)象是從通過外部連接接收的遠(yuǎn)程數(shù)據(jù)組裝而來(lái)的。字符串是組裝的,如下所示: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';稍后,我需要驗(yàn)證接收到的數(shù)據(jù),但是當(dāng)我嘗試執(zhí)行以下操作時(shí),它返回 false。緩沖區(qū)中的數(shù)據(jù)和內(nèi)容(至少是我在調(diào)試器中可以看到的內(nèi)容)都是我所期望的。有什么想法嗎?strValreturn strVal.equals("STR GOOD"); // evaluates as false when should be true
2 回答

白衣非少年
TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
不要追加 0,在循環(huán)中使用 i:
byte[] buffer = new byte[20];
/* ... buffer is loaded ... */
String strVal = "";
for (int i = 0; i < 8; i++) {
strVal += (char) buffer[i];
}
添加回答
舉報(bào)
0/150
提交
取消