您的位置:首页 > 其它

byte[]类型toString遇到的问题

2016-11-03 10:14 190 查看
今天在写Android程序的时候犯了一个很蠢的错误,记录下来以防哪天再抽风。

一直觉得string类型的对象调用getbytes()方法和byte[]类型的对象调用toString()是互逆的,然而并不是这样啊…..

我的byte[]对象是一个解密得到的数组,我希望通过toString方法得到这个数组对应的String。

byte[] bytes = cObj.doFinal(encryptedMessage);
String result = bytes.toString();
System.out.println("the result is "+result);


结果发现每次打印出来的结果都不一样,而且貌似是bytes的地址。多次运行打印的结果的形式如下:

[B@2557142

[B@244a1d8

所以想将byte[]转化成字符串还是要new一个String。

byte[] bytes = cObj.doFinal(encryptedMessage);
String result = new String(bytes);
System.out.println("the result is "+result);


这样结果就对了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: