StringBuffer的打印引出的数组转化String问题

调试COA-Programming2时,发现打印StringBuffer对象会出现诸如[C@16b98e56的结果。

代码大概如下

char[] CheckCode = new char[...];
...
StringBuffer temp = new StringBuffer(CheckCode.toString());
...
System.out.println(temp);

 后来发现 toString() 方法返回的是

The toString method for class Object 
returns a string consisting of the name of the class of which the object is an instance,
the at-sign character `@', 
and the unsigned hexadecimal representation of the hash code of the object.
In other words, this method returns a string equal to the value of:
       getClass().getName() + '@' + Integer.toHexString(hashCode())

要想将数组的内容转化为String,可以改为

StringBuffer temp = new StringBuffer(String.valueOf(CheckCode));
//['1','1','1']---->"111"

还有一种是

StringBuffer temp = new StringBuffer(Arrays.toString(CheckCode));
//['1','1','1']---->"[1,1,1]"
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值