byte[].toString()

背景

在做数据加解密时,设计到字节数组的操作,有一步是返回字节数组的字符串形式,于是我这么写

// result 为 byte[]类型 
Base64Utils.encode(result).toString();

得出的结果确是:[B@xxxxxx ,一个地址的值,而不是想要的字符串形式

 

原因

对于对象来说,如果没有重写它的toString方法,则默认是返回对象的地址的,而不是字符串形式

 

解决

使用 new String 重新构造字符串

// result 为 byte[]类型 
new String(Base64Utils.encode(result),"UTF-8");

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用中提到,Arrays.toString()是一个工具类中的方法,用来将数组转换成String类型输出的。参数可以是不同类型的数组,如long,float,double,int,boolean,byte,object型的数组。使用这个方法可以方便地将数组打印出来。 引用中提到,直接打印int数组或使用int数组的toString方法只会打印出数组的地址,而不是数组的内容。为了打印数组中的数据,可以使用Arrays的toString方法。这个方法会将数组转换为String类型,并输出其中的元素。 具体使用方法可以参考以下示例代码: ```java int[] intArray = {1, 4, 6, 7, 8, 9, 10}; System.out.println(Arrays.toString(intArray)); ``` 这段代码会将int数组`intArray`转换为String类型,并输出其中的元素。输出结果将是`[1, 4, 6, 7, 8, 9, 10]`。 引用中提到,在ECMAScript 3中,Object.prototype.toString方法可用于检测变量的类型。当对数组使用这个方法时,返回的结果是`[object Array]`,表示该变量是一个数组。 综上所述,array.ToString()是一个错误的写法,正确的写法应该是Arrays.toString(array)。这个方法可以将数组转换成String类型输出,并输出数组中的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java中Arrays.toString()详细分析(全)](https://blog.csdn.net/weixin_47872288/article/details/116782849)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Java基础——Arrays.toString()方法](https://blog.csdn.net/qq_41074129/article/details/101030969)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [JavaScript中Object.prototype.toString方法的原理](https://download.csdn.net/download/weixin_38577922/14803418)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值