byte[]类型toString遇到的问题

今天在写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);

这样结果就对了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值