A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

有没有大手子解释一下,打印出来不是地址,而是数组内容

13 个回复

倒序浏览
单纯只是字符数组的话打印的就是地址啊,如果字符数组存在其他对象里那就应该是调用了该对象的toString()方法
回复 使用道具 举报 1 0
13411939415 发表于 2016-8-3 22:13
单纯只是字符数组的话打印的就是地址啊,如果字符数组存在其他对象里那就应该是调用了该对象的toString()方 ...

public class Test4 {
        public static void main(String[] args) {
                char[] c = {'a','b'};
                System.out.println(c);
}
}只是这样啊
回复 使用道具 举报
值得拿去问一下老师
回复 使用道具 举报
骚动的石头 发表于 2016-8-3 22:33
public class Test4 {
        public static void main(String[] args) {
                char[] c = {'a','b'};

这个真的得去问问老师了,底层代码又不知道要怎么查看
回复 使用道具 举报
数组是引用数据类型对吧,char是基本数据类型 他存进数组的时候是怎么样的呢?
我认为他是封箱 转换成引用数据类型的Character 然后Character重写了toString () 然后当你打印char类型的数组的时候他就自动拆箱 或者直接打印出来
我觉得这样将应该是对的。 因为 数组是引用数据类型,char是基本数据类型 他存储的时候就是转成character
回复 使用道具 举报
Liangfwu 发表于 2016-8-3 22:47
值得拿去问一下老师

这是个问题..
回复 使用道具 举报
13411939415 发表于 2016-8-3 22:54
这个真的得去问问老师了,底层代码又不知道要怎么查看

嗯...这个自己思考确实很无力
回复 使用道具 举报
牧风 发表于 2016-8-3 23:10
数组是引用数据类型对吧,char是基本数据类型 他存进数组的时候是怎么样的呢?
我认为他是封箱 转换成引用 ...

还是不理解啊 明天问问老师去
回复 使用道具 举报
好尴尬 我的解释是错误的。。。。 你点开API  system  找out 流 print 方法 看了就明白了
回复 使用道具 举报
牧风 发表于 2016-8-4 00:09
好尴尬 我的解释是错误的。。。。 你点开API  system  找out 流 print 方法 看了就明白了 ...

明白了 看到了
回复 使用道具 举报
我查了一下百度,这是一个println方法 的重载,   system.out.println这一句话中的println()就是一个方法,在我们输出一个字符数组时他就用了一个 println(char[] x) 这个方法了
回复 使用道具 举报
Liangfwu 发表于 2016-8-4 23:20
我查了一下百度,这是一个println方法 的重载,   system.out.println这一句话中的println()就是一个方法,在 ...

哦哦 原来如此
回复 使用道具 举报
它重写了toString方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马