Object的hashCode()默认是返回内存地址的,但是hashCode()可以重写,所以hashCode()不能代表内存地址的不同

System.identityHashCode(Object)方法可以返回对象的内存地址,不管该对象的类是否重写了hashCode()方法。

下面来验证:

public class TestMem {public static void main(String[] args) {String s1 = "hello";String s2 = "world";String s3 = "helloworld";String s4 = s1+s2;System.out.println(s3==s4);System.out.println(s3.hashCode());System.out.println(s4.hashCode());System.out.println(System.identityHashCode(s3));System.out.println(System.identityHashCode(s4));}
}

结果

false
-1524582912
-1524582912
1329552164
363771819

s3和s4的hashCode一样,但是内存地址不一样。

由此可知,要想获取对象的内存地址应使用System.identityHashCode()方法

Java中打印对象内存地址相关推荐

  1. 深入分析Java中打印对象内存地址 System.identityHashCode()方法

    文章目录 地址是什么样子的 toString()方法 重写hashCode identityHashCode与真正的内存地址 参考 地址是什么样子的 我们知道system.out.println(ne ...

  2. java中什么表示打印_在java中打印对象时会发生什么

    您不需要调试器就能知道发生了什么. System.out是PrintStream类型. PrintStream.println(Object)的javadoc说: Prints an Object a ...

  3. Java获取对象内存地址

    haseCode()方法获取并非对象内存地址 hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,获取对象散列的地址,并非实际内存地址. java直接打印对象,结果是十六进制的散列地址 ...

  4. Java中的对象和类

    一. OOP中的基本概念     Java的编程语言是面向对象的,采用这种语言进行编程称为面向对象编程(Object-Oriented Programming, OOP), 它允许设计者将面向对象设计 ...

  5. 如何从Java中打印XML?

    本文翻译自:How to pretty print XML from Java? I have a Java String that contains XML, with no line feeds ...

  6. JAVA中堆栈和内存分配原理

    JAVA中堆栈和内存分配原理 1.栈.堆 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在 ...

  7. 【译】Java中的对象序列化

    前言 好久没翻译simple java了,睡前来一篇. 译文链接: http://www.programcreek.com/2014/01/java-serialization/ 什么是对象序列化 在 ...

  8. Java中,一切皆是对象——java中的对象类型与基本数据类型的区别

    起因:取一个list给另一个list赋值,然后在另一个list中取出进行修改.list其中类型为对象时,String时,基本数据类型时. [java中的对象类型与基本数据类型的区别] #声明和实例化 ...

  9. java中String对象作为参数传递问题

    问题 java中将对象作为参数传递究竟是值传递还是引用传递? 1.基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的. 2.对象作为参数传递时,是把对象在内存中的地址拷贝 ...

最新文章

  1. 2007过年休息的日子
  2. linux 编程笔记1 crusher for linux
  3. 花生葫芦球 健身新运动
  4. python try else_python try/except/else与递归
  5. Google浏览器开发者工具:CSSViewer(一个Css查看器)
  6. 机器为内容“体检”?AI算法这样解构内容创作理解
  7. 大数据可视化需要遵循哪几个核心原则
  8. 数据预处理第5讲:特征缩放
  9. 【BZOJ3191】【JLOI2013】卡牌游戏 [DP]
  10. 相关系数excel_怎么制作高光谱遥感数据波段间相关系数热力图
  11. SEO搜索引擎优化 | hexo
  12. 什么是ISO 21434?给汽车软件开发人员的合规贴士
  13. android开发者 人数,Android开发者数量超iOS(转载)
  14. 【读书笔记 1】《读大江大河 有感》
  15. PHP微信公众平台开发高级篇--群发接口
  16. webpack + typescript 开发微信小游戏实践
  17. Android后台服务Service
  18. edge不能打开html网页,win10自带浏览器Edge打不开网页的两种修复方法
  19. linux指令_齐南汕
  20. 基于javaweb+springboot的物流快递在线寄查快递系统(java+SpringBoot+FreeMarker+Mysql)

热门文章

  1. 运用傅里叶变换对信号进行简单的滤波
  2. 招生技巧之招生之忌. 转载 (三)
  3. 买不起房的去俄罗斯?_三木_新浪博客
  4. surfaceview组件的surfaceCreated()不被调用的解决方案
  5. 大学物理·第一章质点运动学
  6. 初级会计资料-常用会计分录(二)
  7. awk去掉某字符串前面所有的字符
  8. Hadoop数据压缩
  9. tiny6410开发板使用NFS访问Ubuntu主机
  10. embedding 使用