整理一个toString new String的区别

public   class   Test{ 
public   static   void   main(String[]   args)   { 
                    char   test[]={ 'w ', 'e ', 'r '}; 


String   str=new   String(test); 

String   trs=test.toString(); 


System.out.println( "str= "+str);//str=wer 

System.out.println( "trs= "+trs);//trs=[C@35ce36 








 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
回复次数: 6

  • 2

#1楼 得分:16回复于:2006-10-16 10:38:58
一个对象toString()方法如果没有被重写,那么默认调用它的父类Object的toString()方法,而Object的toString()方法是打印该对象的hashCode,一般hashCode就是此对象的内存地址!
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐: java数据库设计中的14个技巧
  • hudingchen用户头像
  • hudingchen
  • (努力不一定成功,放弃一定失败。)
  • 等 级:
#2楼 得分:16回复于:2006-10-16 10:42:45
Object   类的   toString   方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at   标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于: 
getClass().getName()   +   '@ '   +   Integer.toHexString(hashCode())
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐: 请详细解释一下你的正则表达式
  • andycpp用户头像
  • andycpp
  • (华丽的痘痘)
  • 等 级:
#3楼 得分:16回复于:2006-10-16 10:42:46
test是一个数组,在java中,数组是一个对象。 
每一个对象都有toString方法,默认情况下,toString方法的返回值是该对象的哈希码,除非某些特别的类把toString方法重载了,才可能返回一些有意义的东西。 

很显然,数组对象的toString方法没有被重载,因此它返回的是该对象的哈希码,也就是[C@35ce36
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐: Java栈与堆一篇好文!!
  • hotsunn用户头像
  • hotsunn
  • (刚刚开始)
  • 等 级:
#4楼 得分:2回复于:2006-10-16 10:44:38
学习
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐: 我对java中的编码,类加载,类路径查找,集合等机制的理解,欢迎朋友们批评指正!
  • zxcwillzxc用户头像
  • zxcwillzxc
  • (呵呵)
  • 等 级:
#5楼 得分:0回复于:2006-10-16 10:57:15
谢谢
 
  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
精华推荐: 使用JSTL到底有什么好处,为什么要用JSTL?
  • willishz用户头像
  • willishz
  • (光与影的奇迹)
  • 等 级:
#6楼 得分:0回复于:2006-10-16 11:00:01
本质上说,是因为String类的构造方法:String(char[])和Object类的toString()不同。一个返回char[]的数值,一个返回引用地址。java   API是这么写的: 

public   String(char[]   value) 
Allocates   a   new   String   so   that   it   represents   the   sequence   of   characters   currently   contained   in   the   character   array   argument.   The   contents   of   the   character   array   are   copied;   subsequent   modification   of   the   character   array   does   not   affect   the   newly   created   string.   

toString 
public   String   toString()Returns   a   string   representation   of   the   object.

你可能感兴趣的:(整理一个toString new String的区别)