A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨华东 中级黑马   /  2012-10-23 22:33  /  1849 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对象的内存地址值是整数吗?别那么急着回答。。。。。想好再说。。。

Java中如何精确算出不同对象的地址值??

求大神帮忙。。。。元芳谢过。。。

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

4 个回复

倒序浏览
是整数   可以通过hashCode()方法获取
以下代码你可以看下:
  1. public  class Demo
  2. {
  3.      public static void main(String[] args){
  4.                Test t1 = new Test();
  5.            Test t2 = new Test();
  6.                    System.out.println("t1的内存地址:"+t1.hashCode());
  7.                    System.out.println("t1的内存地址:"+Integer.toHexString(t1.hashCode()));//十六进制形式
  8.                    System.out.println("t2的内存地址:"+t2.hashCode());
  9.          }
  10. }

  11. class Test
  12. {
  13.         private int id;
  14.         private String name;

  15.         public Test(){}

  16.         public Test(int id,String name){
  17.             this.id = id;
  18.                 this.name = name;
  19.         }
  20. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
樊鹏飞 发表于 2012-10-23 22:58
是整数   可以通过hashCode()方法获取
以下代码你可以看下:

大人,元芳很明确的告诉您 您错了 哈希码值与内存地址值 完全两个概念
回复 使用道具 举报
杨华东 发表于 2012-10-23 23:05
大人,元芳很明确的告诉您 您错了 哈希码值与内存地址值 完全两个概念

好吧  受教了
回复 使用道具 举报
JAVA中不是由十六进制的数字表示内存地址么
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马