发布网友 发布时间:2022-04-22 05:39
共5个回答
热心网友 时间:2024-03-21 05:59
java中不建议直接获取字符串内存地址,因为java不像c语言,获取内存地址是C语言的强项,java的弱项。但是java内存地址还是有一个应用场景,就是判断两个字符串内存地址是否相等来判断是否是同一个对象,用双等号“==”来比较的。参考代码如下:热心网友 时间:2024-03-21 05:59
对象可以用对象.toString()方法获取这个对象的伪地址,伪地址是由类名@hashCode算出来的一个数字没有什么实际的意义,所以java不用考虑内存的问题,这只是对对象的一个比较权威的标识而已,前提是这个类没有重写toString()方法,如果这儿类重写了toString方法,输出的就是重写之后的数值了。来自:求助得到的回答热心网友 时间:2024-03-21 06:00
获取对象的内存地址对java的开发是没有用处的,oracle公司对这条代码输出的地址String str = Object.toString();str==内存地址;;是包名+类名+哈希码,这里的哈希码是oracle公司进过复杂的算法转换的,所以一般在java程序中需要复写toSting(),equals(),hashcode()这三个方法。热心网友 时间:2024-03-21 06:01
Java不允许获得内存地址!热心网友 时间:2024-03-21 06:01
若不重写对象的toString()