java吧 关注:1,234,132贴子:12,700,446
  • 8回复贴,共1

关于Object.toString的疑问,有人能给我解答下吗?3Q

只看楼主收藏回复

Object.class里面是这么写的
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
如果说我建了一个数组int[] a = new int[5];
syso(a.toString());
结果为[I@4f1d0d字样,
我的问题就是@前面的[I是这么来的什么意思?


1楼2014-10-21 20:13回复
    理解它干嘛啊


    来自手机贴吧2楼2014-10-21 20:22
    收起回复
      getClass().getName() + "@" + Integer.toHexString(hashCode());
      前面是得到类的名字,[I这个就是你的类的名字,后面的是保存这个类的哈希表地址。


      3楼2014-10-21 21:11
      收起回复


        来自iPhone客户端4楼2014-10-22 01:01
        回复
          [代表是一个数组,[]的一半,i代表这个数组是int型的。@代表at也就是存储位置。因为数组是new出来的,所以它是一个对象,后面跟的4f1d0d代表它在内存中的存储地址的16进制表现形式,对象都是储存在堆内存中嗯,所以都有其对应的存储地址。


          IP属地:北京来自iPhone客户端5楼2014-10-22 01:38
          收起回复