黑马程序员技术交流社区
标题:
String 类型输出为什么输出了内存地址而不是字符串?
[打印本页]
作者:
随风永夜
时间:
2015-4-12 11:30
标题:
String 类型输出为什么输出了内存地址而不是字符串?
import java.util.Arrays;
class Demo{
public static void main(String args[]){
String s1="vczbdacs";
jisuan(s1);
}
public static void sop(String str){
System.out.println(str);
}
public static void jisuan(String s1){
char ch[]=s1.toCharArray();
Arrays.sort(ch);
sop(ch.toString());
/*
for(int x=0;x<ch.length;x++){
System.out.print(ch[x]);
}
*/
}
}
作者:
leonard
时间:
2015-4-12 12:58
sop(ch.toString());
这里的toString();方法是object中的方法,返回的是该调用对象的地址值字符串。
应该使用arrays中的toString方法。如:Arrays.toString(ch);
作者:
liyanghml
时间:
2015-4-12 18:46
本帖最后由 liyanghml 于 2015-4-12 18:57 编辑
楼上正解,Arrays.toString() 和 String的toString() 要区分开
作者:
liurongzhi1991
时间:
2015-4-12 20:28
不懂·``````````````
作者:
Fruious
时间:
2015-4-12 20:30
楼上正解!
作者:
z小怪兽
时间:
2015-4-12 20:47
String类的变量引用的是对象的内存地址,属于引用类型变量,打印输出的话就是内存地址值
作者:
随风永夜
时间:
2015-4-14 15:06
数组都只是地址 谢谢了。
作者:
sisel
时间:
2015-4-14 15:23
可以使用 new String(ch)
作者:
lf027
时间:
2015-4-14 22:20
我也直接纠结这个问题,toString()方法
作者:
燕赵之风
时间:
2015-4-15 10:17
涉及到数组转变字符串的可以用数组的工具类Arrays.toString,此工具类专门用于将其他类型的数组转变为字符串。
同时toString方法是针对类的实例对象使用的。
作者:
MartinYu
时间:
2016-7-7 18:12
不懂,看不懂
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2