首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java中包装器类引用和用户定义类引用的区别

java中包装器类引用和用户定义类引用的区别
EN

Stack Overflow用户
提问于 2016-09-01 20:14:22
回答 6查看 310关注 0票数 0

假设我有一个自定义类,比如Test。

代码语言:javascript
复制
Test test = new Test(); // test is the reference.

现在,当我打印test的值时,它返回hashcode。

现在考虑一下,

代码语言:javascript
复制
Integer i = new Integer(10);

当我打印i的值时,它返回10。

有没有人能帮我理解这里到底有什么不同?我相信两者都是对象引用,但是对于包装器类引用,它返回它所指向的对象的值。

EN

回答 6

Stack Overflow用户

发布于 2016-09-01 20:16:54

当您创建一个新类时,它从Object继承了toString()方法。Integer类覆盖该方法以返回内部值。

票数 0
EN

Stack Overflow用户

发布于 2016-09-01 20:18:03

打印时,会隐式调用toString()方法。

默认情况下(在您的Test类中),它使用一个内部对象类。对于Integer,它将Integer转换为10进制的字符串。

票数 0
EN

Stack Overflow用户

发布于 2016-09-01 20:21:13

您的测试类使用的是Object类的toString()方法,它打印hashCode。但是对于Integer类,toString方法被覆盖。你可以看到Integer.java here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39271302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档