String tmpStr="我的测试"; byte[] tb = tmpStr.getBytes(); String m=new String(tb); System.out.println("m:"+m); byte[] a = { 'a', 'b', 'c', 'd','6'}; String e = new String(a); System.out.println(e);
假如有一个字节数组: byte t=new byte[100]; 里面装有数据 现在我要把它读出来有两种方式 1: System.out.println(t.toString()); 2: String m=new String(t); System.out.println(m); 我想问的是为什么第一种方式读出来的是乱码呢?
不是乱码,应该是*@****这样的内容,这个应该是什么哈希码 你可以自己new几个对象 然后对象tostring 打印出来的都是如此 第二个是将字节数组转换成字符串
本文探讨了Java中如何正确地从字节数组转换为字符串,并解释了使用不同方法时的区别。通过示例代码说明了直接调用toString()方法会得到哈希码而非预期内容的原因。
9万+

被折叠的 条评论
为什么被折叠?



