首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
Java
J2SE / 基础类
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
print()的 问题
[已结贴,结贴人:zr_dixuexiongying]
加为好友
发送私信
在线聊天
zr_dixuexiongying
等级:
发表于:
2008-05-21 21:06:34
楼主
public class Test
{
public static void main(String[] args)
{
String str = "world";
char[] ch = {'H','e','l','l','o'};
change(str,ch);
System.out.print(str + "and ");
System.out.println(ch);
}
public static void change(String str,char[] ch)
{
str = "Change";
ch[0] = 'C';
}
}
输出应该为 world and Cello 没有错
可是我将输出合为一句的时候,也就是System.out.println(str + " and " + ch)
输出为 world and [C@14318bb
为什么我将输出合并为一句之后输出的ch就是一个好像是地址呢!
问题点数:
20
回复次数:
12
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
anqini
[Kimi]--午後の紅茶
等级:
发表于:
2008-05-21 22:23:50
1
楼 得分:
2
char[] ch = {'H','e','l','l','o'}; //这是一个数组,print的 时候会调用其toString方法,会打印出
类名字@hashCode十六进制
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
phyeas
等级:
发表于:
2008-05-21 22:26:59
2
楼 得分:
2
用Arrays.toString.
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
purerabbit
又是陌生人
等级:
发表于:
2008-05-21 22:27:23
3
楼 得分:
2
char[] ch;
System.out.print(ch)
和
System.out.println(str+"and"+ch)
中print方法的实现是不一样的
print(ch)直接打印字符数组
print(str+"and"+ch)中按字符串打印,实现的是print(str+"and"+ch.toString())
ch指向的就是地址,直接将地址转化成字符串了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
bt_lose
Win_bt
等级:
发表于:
2008-05-21 22:59:00
4
楼 得分:
2
http://topic.csdn.net/u/20080521/21/eb2c08f7-8209-4c02-8215-6915afbc5d03.html
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wensheng_zh2007
等级:
发表于:
2008-05-21 23:20:36
5
楼 得分:
0
?????
又学习了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
loujianchengdd
降低耦合
等级:
发表于:
2008-05-21 23:41:00
6
楼 得分:
5
String类重写了object的toString()方法,就是打印String类型的字面值。
但是一个char[]是一个数组,pringf的时候调用的是object类的toString()方法,Object的toString()
方法默认就是打印hashcode的16进制数
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yuzhu2008
雨竹
等级:
发表于:
2008-05-24 18:50:44
7
楼 得分:
5
看下面的解释
java.lang
类 Object
java.lang.Object
toString
public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
返回:
该对象的字符串表示形式。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
buckwmm
卡卡西
等级:
发表于:
2008-05-24 21:27:06
8
楼 得分:
0
学习了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ming470612141
等级:
发表于:
2008-05-25 03:14:33
9
楼 得分:
2
(1)jdk 1.5帮助文档是这样写的(类PrintStream)
void print(char[] s)
Print an array of characters.
(2)print(str+"and"+ch)中按字符串打印,实现的是print(str+"and"+ch.toString())
ch指向的就是地址,直接将地址转化成字符串了,值如下:
getClass().getName() + '@' + Integer.toHexString(hashCode())
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jason_kou
流浪的鱼
等级:
发表于:
2008-05-25 03:24:38
10
楼 得分:
0
2楼正解。。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yinghan2005
等级:
发表于:
2008-05-25 08:47:58
11
楼 得分:
0
又被你们抢了先
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
chenqiyuan520
小白
等级:
发表于:
2008-05-25 10:20:07
12
楼 得分:
0
学习了
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友