日期:2014-05-20  浏览次数:20619 次

Java数组
本帖最后由 CiKeJinSiHua 于 2013-12-13 16:27:54 编辑
int[] intArr;
intArr = new int[]{0,1,2};
  for(int i = 0 ; i < 3 ; i ++)
  {
     //输出0 1 2
     System.out.println(intArr);
  }
  //输出[I@19836ed
  System.out.println(intArr);
  


为什么会出现第二种输出结果?

------解决方案--------------------
intArri是数组,是对象,不是基本类型。
使用Sysoout输出的toString的结果:类型@code
------解决方案--------------------
System.out.println(intArr);
因为intArr是一个对象,如果直接输出的话,就是输出的是:toString的结果 @ HashCode的结果
------解决方案--------------------
嗯,直接用System.out.println(intArr);
只会输出对象在内存中的地址,应该是
intArr[i],或者intArr[0],intArr[1]intArr[2],遍历;

------解决方案--------------------
System.out.println(intArr);输出的是数组保存的内存地址!