为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中比较字节打包字符串?

如何在Java中比较字节打包字符串?

POPMUISE 2022-09-28 16:22:32
我的 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 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

从字节数组的末尾删除 解决了问题。'\0'



查看完整回答
反对 回复 2022-09-28
?
白衣非少年

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];

    }


查看完整回答
反对 回复 2022-09-28
  • 2 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号