A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为什么我定义的一个字符数组输出的时候在println里面输入文字读取数组的时候会出现乱码,什么都不输入的时候又读取正常,这是为什么啊

现象1.png (168.68 KB, 下载次数: 8)

现象1.png

现象2.png (194.99 KB, 下载次数: 0)

现象2.png

7 个回复

倒序浏览
第二个输出的不是乱码,显示“不正常”部分是字符串数组的哈希值;
要正常显示的话需要将 字符串数组先转化为字符串
System.out.println("输出的数组"+(new String(buffer)));

这中间涉及了 字符串连接符“+”的运算
回复 使用道具 举报
貌似是编码表的问题
回复 使用道具 举报
一楼正解,赞
回复 使用道具 举报
一楼正解,你读出来的buffer是引用地址的toString,不是字符串。
回复 使用道具 举报
没有看明白,还得努力学习
回复 使用道具 举报
System.out.println(new String(buffer))
回复 使用道具 举报
fmi110 发表于 2015-8-12 09:56
第二个输出的不是乱码,显示“不正常”部分是字符串数组的哈希值;
要正常显示的话需要将 字符串数组先转化 ...

恩  知道了 谢谢啦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马