int[] arr = new int[3];
和
int[] arr1 = {1,2,3};
和
int[] arr2 = new int[] {1,2,3};
这三种方式都会在堆内存中创建一个数组对象的实体吗?还是只有第一种方式能创建实体?
这三种方式都是在堆上分配的内存。其中2 3两个方式等价。
几乎所有的程序设计语言都支持数组。Java也不例外。当我们需要多个类型相同的变量的时候,就考虑定义一个数组。在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静态的,所以想要使用就必须先初始化(为数组对象的元素分配空间)。
对与Java数组的初始化,有以下两种方式,这也是面试中经常考到的经常题目:
静态初始化:初始化时由程序员显式指定......
答案就在这里:Java数组及其内存分配
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
这三种方式都是在堆上分配的内存。其中2 3两个方式等价。