在c++下能显示内存的地址,java有没有什么方法可以显示变量的内存地址

解决方案 »

  1.   

    java 对象在 堆中,
    要显示 也是 散列码。。
    class@1923d44   16进 制  根据对象的内存地址 得到
      

  2.   

    java 对象在 堆中,
    要显示 也是 散列码。。
    class@1923d44   16进 制  根据对象的内存地址 得到
    这个是通过怎样得到的???
      

  3.   

    所有东西都在 Virtual Machine 中,又没有 指针,为什么要 知道 内存地址?
      

  4.   

    因为编译原理的课程设计有个那样的问题, 我用的语言是java,所以想问问可不可以实现。
      

  5.   

    当对象没有重载toString时,直接输出那么就是包含了它的地址的.
      

  6.   

    class@1923d44   16进 制  根据对象的内存地址 随便定义个类,
    class Test{
    public static void main(String[] args){
     Test tt=new Test();
    System.out.print(tt);
    }
    }
    输出 结果为 Test@2bbd86
      

  7.   

    o 原来XXX@2354f 是这个意思
      

  8.   

    public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }这是Object类中的源码
      

  9.   

    随便定义个类,
    class Test{
    public static void main(String[] args){
     Test tt=new Test();
    System.out.print(tt);
    }
    }
    输出 结果为 Test@2bbd86这个可以显示 但是这样String tt=new String("adc");
    和Integer i = new Integer("555");怎么显示
      

  10.   

    楼上的可以这样: 自定义一个封装类,然后重写他们的toString方法应该就可以看到栈里存的地址了class myInteger extends Integer{
         public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }
    }
    然后再用这个自定义的类去声明,  
      myInteger i=new myInteger(555);
      System.out.println(i);这样应该就可以看到地址了。 上面的代码没有测试过,你可以试试
      

  11.   

    谁说:“在c++下能显示内存的地址”?用指针?不对。指针是变量的逻辑地址,不是真正的内存地址。许多学C/C++的热衷于用DEBUG来看变量的内存地址,这是走火入魔级C/C++高手。
      

  12.   

    java里给你个地址 0x12345678, 你想怎么用?
      

  13.   

    java里给你个地址 0x12345678, 你想怎么用?什么意思
    进来会的给点解释
      

  14.   

    楼上的可以这样: 自定义一个封装类,然后重写他们的toString方法应该就可以看到栈里存的地址了class myInteger extends Integer{
         public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }
    }
    然后再用这个自定义的类去声明,  
      myInteger i=new myInteger(555);
      System.out.println(i);这样应该就可以看到地址了。 上面的代码没有测试过,你可以试试Ingeger 类是个 final 是不能继承的