请教:
1,
在书上看到:
对象数组保存的是引用 基本类型数组直接保存基本类型的值是什么意思
2,以前别人告诉我:int[]a = new int[3]; new int[3] 是在堆中分配了3个int类型的空间 “int[]a” 是在堆栈中分配了一个和“new int[3]”同样大小的空间 a指向了“new int[3]”假如a[1]=0;则堆中的和“a[1]”对应的那块空间的值也存储0 这样对吗
谢谢
1,
在书上看到:
对象数组保存的是引用 基本类型数组直接保存基本类型的值是什么意思
2,以前别人告诉我:int[]a = new int[3]; new int[3] 是在堆中分配了3个int类型的空间 “int[]a” 是在堆栈中分配了一个和“new int[3]”同样大小的空间 a指向了“new int[3]”假如a[1]=0;则堆中的和“a[1]”对应的那块空间的值也存储0 这样对吗
谢谢
|
|______[0] [1] [2] : type = int, In Heap.
2 int[]a 是分配了一个变量引用,不是一个空间。 它指向了 new int[3] 的那个地址。
感觉3楼的回答2好像有点不妥,int []a=new int[3]应该是直接在栈上分配三个数据单元用于存储数据。和int a,b,c本质上没有区别,个人理解,欢迎拍砖!