黑马程序员技术交流社区

标题: String问题 [打印本页]

作者: 海贼王019    时间: 2015-4-11 21:26
标题: String问题
这个不是应该输出一个字符串吗?为何是一个哈希码值呢

2015-04-11_200857.png (85.3 KB, 下载次数: 5)

2015-04-11_200857.png

作者: 突然世界晴    时间: 2015-4-11 21:42
输出的是一个字符串呀,
之所以会是你说的字符串"[I@123123"什么的
是因为 传入的i 是地址值。
你是将i的地址值转换为字符串而已。
作者: sisel    时间: 2015-4-11 21:48
本帖最后由 sisel 于 2015-4-11 21:49 编辑

这里相当于返回的是int[]类型的i.toString(); 而char[]没有问题是因为valueOf方法重载了这种参数,但是没有int[]的重载,所以把他作为Object处理了
作者: 海贼王019    时间: 2015-4-11 21:59
sisel 发表于 2015-4-11 21:48
这里相当于返回的是int[]类型的i.toString(); 而char[]没有问题是因为valueOf方法重载了这种参数,但是没有 ...

好像明白了点什么
作者: 海贼王019    时间: 2015-4-11 22:00
突然世界晴 发表于 2015-4-11 21:42
输出的是一个字符串呀,
之所以会是你说的字符串"[I@123123"什么的
是因为 传入的i 是地址值。

没太看懂啊,:(
作者: xxingfang    时间: 2015-4-11 22:05
就是说int类型的变量的地址值,@是在。。。的意思。
就是说int类型的变量的地址在123123
作者: 撑起一个家    时间: 2015-4-12 00:46
    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2