Java中打印对象内存地址
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中打印对象内存地址相关推荐
- 深入分析Java中打印对象内存地址 System.identityHashCode()方法
文章目录 地址是什么样子的 toString()方法 重写hashCode identityHashCode与真正的内存地址 参考 地址是什么样子的 我们知道system.out.println(ne ...
- java中什么表示打印_在java中打印对象时会发生什么
您不需要调试器就能知道发生了什么. System.out是PrintStream类型. PrintStream.println(Object)的javadoc说: Prints an Object a ...
- Java获取对象内存地址
haseCode()方法获取并非对象内存地址 hashCode方法的主要作用是为了配合基于散列的集合一起正常运行,获取对象散列的地址,并非实际内存地址. java直接打印对象,结果是十六进制的散列地址 ...
- Java中的对象和类
一. OOP中的基本概念 Java的编程语言是面向对象的,采用这种语言进行编程称为面向对象编程(Object-Oriented Programming, OOP), 它允许设计者将面向对象设计 ...
- 如何从Java中打印XML?
本文翻译自:How to pretty print XML from Java? I have a Java String that contains XML, with no line feeds ...
- JAVA中堆栈和内存分配原理
JAVA中堆栈和内存分配原理 1.栈.堆 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在 ...
- 【译】Java中的对象序列化
前言 好久没翻译simple java了,睡前来一篇. 译文链接: http://www.programcreek.com/2014/01/java-serialization/ 什么是对象序列化 在 ...
- Java中,一切皆是对象——java中的对象类型与基本数据类型的区别
起因:取一个list给另一个list赋值,然后在另一个list中取出进行修改.list其中类型为对象时,String时,基本数据类型时. [java中的对象类型与基本数据类型的区别] #声明和实例化 ...
- java中String对象作为参数传递问题
问题 java中将对象作为参数传递究竟是值传递还是引用传递? 1.基本类型作为参数传递时,是传递值的拷贝,无论你怎么改变这个拷贝,原值是不会改变的. 2.对象作为参数传递时,是把对象在内存中的地址拷贝 ...
最新文章
- 2007过年休息的日子
- linux 编程笔记1 crusher for linux
- 花生葫芦球 健身新运动
- python try else_python try/except/else与递归
- Google浏览器开发者工具:CSSViewer(一个Css查看器)
- 机器为内容“体检”?AI算法这样解构内容创作理解
- 大数据可视化需要遵循哪几个核心原则
- 数据预处理第5讲:特征缩放
- 【BZOJ3191】【JLOI2013】卡牌游戏 [DP]
- 相关系数excel_怎么制作高光谱遥感数据波段间相关系数热力图
- SEO搜索引擎优化 | hexo
- 什么是ISO 21434?给汽车软件开发人员的合规贴士
- android开发者 人数,Android开发者数量超iOS(转载)
- 【读书笔记 1】《读大江大河 有感》
- PHP微信公众平台开发高级篇--群发接口
- webpack + typescript 开发微信小游戏实践
- Android后台服务Service
- edge不能打开html网页,win10自带浏览器Edge打不开网页的两种修复方法
- linux指令_齐南汕
- 基于javaweb+springboot的物流快递在线寄查快递系统(java+SpringBoot+FreeMarker+Mysql)