JAVA关于byte数组与String转换的问题
2014-08-13 16:01
507 查看
1 public class ToString{ public static void main(String[] args){ String aa = "hellow"; byte[] bb = aa.getBytes(); byte[] cc = aa.getBytes(); System.out.println(aa); System.out.println(bb.toString()); System.out.println(cc.toString()); String dd = new String(bb); System.out.println(dd); } }
运行结果如下:
这里有两点值得说明:
直接打印实际上调用的是toString()方法,而toString()的默认实现是打印对象类型+hashCode()
[B表示byte数组
@表示之后跟着的是hashCode,其实就是其虚拟机地址
String.getBytes()里面每次都是调用了new byte[]重新构造了一个新的数组,所以,即使是对 aa 调用两次getBytes()方法,返回的数组并赋予两个byte数组变量,不同的两个对象,地址不同,当然数组的内容是相同的。
如果想将byte数组内的内容转变为String类型,需要通过新建字符串类型变量,并将byte数组作为参数传入,方式上述代码中的 dd。
相关文章推荐
- [原]深入 JAVA里面关于byte数组和String之间的转换问题
- JAVA里面关于byte数组和String之间的转换问题
- 深入 JAVA里面关于byte数组和String之间的转换问题
- JAVA里面关于byte数组和String之间的转换问题
- JAVA里面关于byte数组和String之间的转换问题
- [原]深入 JAVA里面关于byte数组和String之间的转换问题
- JAVA里面关于byte数组和String之间的转换问题
- 深入 JAVA里面关于byte数组和String之间的转换问题
- JAVA里面关于byte数组和String之间的转换问题
- [Java]_[初级]_[utf8编码的byte[]数组转换为String时要注意的问题]
- [Java]_[初级]_[utf8编码的byte[]数组转换为String时要注意的问题]
- [Java]_[初级]_[utf8编码的byte[]数组转换为String时要注意的问题]
- Java String byte数组 字符集转换
- Javabyte[]数组和十六进制String之间的转换Util------包含案例和代码
- 【转】Javabyte[]数组和十六进制String之间的转换Util------包含案例和代码
- java中byte数组和String字符串怎么相互转换?(string 转 byte[]和byte[] 转 string)
- String与Byte数组转换----EOFException问题
- java中byte[]转换成String类型的问题
- java中一些int,String,byte的转换问题
- 问题1:java中没有实现这种“byte a = 0xB2 --> String b = “B2””转换的简单实现需要自己实现。 答:自己编写的转换函数,思路将byte的高低4位分开,分别转换为对应的字符然后合成返回的字符串。 java 代码 1.