java - java中创建数组时new操作符是干什么用的?

标签 java arrays memory-management

当我们创建一个类类型的对象时,new 运算符会在运行时分配内存。

myclass obj1 = new myclass();

这里 myclass() 定义了 myclass 的构造函数

但是

int arr1[4] = new int[];

new 分配内存但是,int[] 在这里做什么?

最佳答案

New allocates the memory but, what the int[] does here?

int[] 部分简单地指定了新分配的内存应该是什么类型。

但是,由于数组不能动态增长,因此编写 new int[] 没有意义(即使您指定了 int[4] 在声明中),你必须这样写

int arr1[] = new int[4];

或者像这样

int arr1[] = {1, 2, 3, 4};

JLS 中的相关部分:

关于java - java中创建数组时new操作符是干什么用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3952370/

相关文章:

java - 存档异常 : Could not build ClassFile

java - org.springframework.beans.factory.annotation.InjectionMetadata.needsRefresh

java - Hadoop..如何计算输入拆分的散列

php - 为 foreach() 提供的参数无效;数组设置不正确

javascript - 如何将数组转换为集合

realloc 和 memcpy 的 C 编程问题

java - volatile 数组的替代品

javascript - 如何使用 jQuery 从 javascript 数组中获取最接近的元素?

PHP:将短字符串插入长字符串而不分配太多内存?

c# - 这些对象的引用是在栈上还是在堆上?