数组Java,创建新对象的意义是什么?
我对Java相当陌生,想知道两者之间的区别是什么。在本例中,我使用了数组:
class testpile {
public static void main(String[] args)
{
int[] a = {1,2,3,4,5,6}; //First array
int[] b = new int[5]; //Second Array
b[0] = 7;
b[1] = 8;
b[2] = 9;
b[3] = 10;
b[4] = 11;
print(a);
print(b);
}
public static void print(int[] a) {
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
System.out.println();
}
}
我知道使用“新”会创建一个独特的对象,但使用一个对象比另一个对象有什么好处
# 1 楼答案
这两种构造做的事情完全相同(不过数据不同):创建一个数组并用数据填充它。特别是,这两个数组都是“唯一对象”
在编译时不知道元素的大小和初始值时,可以使用“less literal”选项
# 2 楼答案
这两个代码都创建了一个大小为5/6的int数组
在第一种情况下,数组在创建时用vale初始化
在第二种情况下,该值分配给后者
这就是区别
# 3 楼答案
第一条语句称为array
initialization
,其中创建了六个int变量,并为每个变量赋值。在第二条语句中,new
关键字创建5个初始值为零的int变量使用
new
关键字,可以在需要时实例化数组# 4 楼答案
它们只是创建数组的两种不同方式。这里并没有涉及任何OOP
当你事先知道这些值时,第一个更好,否则第二个更好
# 5 楼答案
在你的例子中,两者之间没有真正的区别。前者主要是后者的“句法糖分”。在这两种情况下,数组都是在堆上分配的
# 6 楼答案
在本例中,这两种方法没有区别
但在这两种情况下,它都会将m/m放入堆中