码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-08-14 23:46:08      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:过程   string   返回值   组合   问题   hashcode   源码   进制   区分   

首先Object源码

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

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

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

标签:过程   string   返回值   组合   问题   hashcode   源码   进制   区分   

原文地址:https://blog.51cto.com/3544011/2429456

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!