温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Object.toString()方法返回16进制地址

发布时间:2020-06-17 11:46:43 来源:网络 阅读:326 作者:niaotuo 栏目:编程语言

首先Object源码

public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

问题:为什么要将hashCode()转换为16进制。
答:hashCode()方法返回的是此对象在内存中的地址,是用×××表示的。
1.内存的地址在计算机行业通常是由16进制进行表示,有的人可能会问,转换的过程会不会造成性能的损失。通过toHexString()源码来看,所有的计算都是用的二进制计算法,而二进制计算对性能的影响是不大的。
2.另外一个目的,toString()方法返回值是”全限定名+@+地址“的组合,这样做的目的是为了我们debug的时候可以唯一区分一个对象,而将地址从10进制转换为16进制更方便我们人类去识别。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI