String str = "abcd"; char [] c = str.toCharArray(); String s = new String(c); String s2 = c.toString();其中s和s2有什么区别???
String str = "abcd"; char [] c = str.toCharArray(); String s = new String(c); // 由char数组构建一个String对象 String s2 = c.toString(); // 将对象c的toString结果(一个String对象)赋给s2对象 s和s2都是String对象,他们的创建方式不同 s值是 "abcd" s2值是对象c的hascode,因为toStrng方法默认返回当前对象(c)的内存地址,即hashCode
延伸:
StringBuilder sb =new StringBuilder();
sb.toString();
显示的是正常的 ,不是内存地址