黑马程序员技术交流社区

标题: 输出引用时 “[I@106d69c”其中“[I@”是什么意思,引用不应该是个16进制地址串么? [打印本页]

作者: win_rainbow    时间: 2015-6-7 17:56
标题: 输出引用时 “[I@106d69c”其中“[I@”是什么意思,引用不应该是个16进制地址串么?
如下代码:
  1. package test;

  2. public class Length {
  3.         public static void main(String[] args){
  4.         int [] bool = {1,2,3};
  5.         int [] boool = {4,5,6,7};
  6.         System.out.println(bool);
  7.         System.out.println(bool.length);
  8.         System.out.println(boool);
  9.         System.out.println(boool.length);
  10.         //System.out.println)
  11.         }
  12. }
复制代码

输出结果如下:
[I@1db9742
3
[I@106d69c
4
疑惑点:[I@ 是什么意思,引用不应该是8个16进制数么?程序有错误也请指正,多谢~
作者: edithe    时间: 2015-6-7 18:26
这是内存地址 不是给你看的,引用变量记录的就是就是内存地址而已,是给机器看的,然后jvm会根据这个地址去找到该地址中的数据
作者: Overheat    时间: 2015-6-7 18:59
[表示是数组 I表示integer类型 @链接地址后面的就是内存地址就像楼上说的。
作者: win_rainbow    时间: 2015-6-7 18:59
edithe 发表于 2015-6-7 18:26
这是内存地址 不是给你看的,引用变量记录的就是就是内存地址而已,是给机器看的,然后jvm会根据这个地址去 ...

内存地址不是由8个16进制数表示么?java中的内存地址和C中的有什么不同?
作者: storer    时间: 2015-6-7 19:10
我表示对着个理解还不够深刻,学习了
作者: storer    时间: 2015-6-7 19:11
我表示对着个理解还不够深刻,学习了
作者: zhao_HHH    时间: 2015-6-7 19:14
[代表1维数组,后边字母和数字是这个数组在内存中的相应存储位置。
作者: win_rainbow    时间: 2015-6-8 21:31
Overheat 发表于 2015-6-7 18:59
[表示是数组 I表示integer类型 @链接地址后面的就是内存地址就像楼上说的。

赞赞赞!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2