开发者社区> 问答> 正文

使用字节数组作为Map键

使用字节数组作为Map键,您是否看到任何问题?我也可以这样做new String(byte[]),String但使用起来更简单byte[]。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 20:05:37 395 0
1 条回答
写回答
取消 提交回答
  • 问题是,byte[]将对象标识用于equals和hashCode,因此

    byte[] b1 = {1, 2, 3} byte[] b2 = {1, 2, 3} 不会与匹配HashMap。我看到三个选择:

    包装为String,但随后必须注意编码问题(您需要确保字节->字符串->字节为您提供相同的字节)。 使用List (在内存中可能会很昂贵)。 做自己的包装类,编写hashCode并equals使用字节数组的内容。

    2020-02-08 20:05:48
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载