toString()和new String()区别

2022年10月16日10:14:35

今天遇到上游通过消息队列传给我byte字节码,我用toString()方法转字符串接收,发现转了后是[B@90f6bfd这样的格式,瞬间懵逼,流下没技术的眼泪。
研究一番,发现字节码如果调用toString()方法,其实是调用的Object类的toString方法,返回的是他的[class name]@[hashcode] 这样格式的内存地址 ,这肯定不是我们想要的数据。而通过new String()的话是根据 parameter是一个字节数组,通过虚拟机默认编码格式,将字节数组decoder为对应的字符,这样就能返回我们想要的字符串。

  • 作者:晚安李白
  • 原文链接:https://blog.csdn.net/tomisa/article/details/111873711
    更新时间:2022年10月16日10:14:35 ,共 265 字。