javabyte数组转string java byte类型相加

很多人在编程的时候,总喜欢用下面的方法把数组转换成字符串:(A是字节数组)string s = a . tostring();但是每次返回,新手返回的结果好像都是乱码。比如我写RSA算法的时候没注意,以为是乱码(哈哈哈),其实[B@1b6d3586就是栈地址值。这个时候你要知道,在返回一个String对象...

很多人在编程的时候,总喜欢用下面的方法把数组转换成字符串:(A是字节数组)

string s = a . tostring();

但是每次返回,新手返回的结果好像都是乱码。比如我写RSA算法的时候没注意,以为是乱码(哈哈哈),其实[B@1b6d3586就是栈地址值。这个时候你要知道,在返回一个String对象的时候,新的基本上是不会错的。测试代码如下:

Scanner scan=new Scanner(System.in); String s="ghhhh"; byte[]a=s.getBytes(); String s1=a.toString(); String s2=new String(a); System.out.println("s1:"+s1); System.out.println("s2:"+s2);

测试结果:

1 s1:[B@1b6d35862 s2:ghhhh

可以看出,s1对应的方法只返回字节数组的地址值,而s2真正返回的是a的实体值。

这是因为,String Java . lang . object . tostring()返回的确实是地址值,介绍如下:

返回对象的字符串表示形式。通常,toString方法返回一个字符串,该字符串“文字上代表”这个物体。结果应该是一个简洁但信息丰富的表示,易于阅读。建议所有子类都重写此方法。

类对象的toString方法返回一个字符串,该字符串由该对象是其实例的类的名称、at符号字符` @ ’,以及对象的哈希代码的无符号十六进制表示形式。换句话说,此方法返回一个等于以下值的字符串:

getClass()。getName()+‘@’+ Integer.toHexString(hashCode())

通常,class Object的toString方法返回一个字符串,它由对象是实例的类的名称、符号“@”和对象哈希代码的无符号十六进制表示组成。换句话说,这个方法返回一个字符串。

本文来自水洗晴空投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/527530.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 05-01
下一篇 05-01

相关推荐

  • javabyte数组转string java byte类型相加

    很多人在编程的时候,总喜欢用下面的方法把数组转换成字符串:(A是字节数组)string s = a . tostring();但是每次返回,新手返回的结果好像都是乱码。比如我写RSA算法的时候没注意,以为是乱码(哈哈哈),其实[B@1b6d3586就是栈地址值。这个时候你要知道,在返回一个String对象

    2023-05-01 00:51:01
    217 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信