我是Java的新手,在Java中创建了一个对象数组。
我有一个a类的例子
A[] arr = new A[4];
但这只是创建指向A的指针(引用),而不是4个对象。这对吗?我看到,当我试图访问创建的对象中的函数/变量时,我得到一个空指针异常。
为了能够操作/访问对象,我必须这样做:
A[] arr = new A[4];
for (int i = 0; i < 4; i++) {
arr[i] = new A();
}
这是正确的还是我做错了什么?如果这是正确的,那真的很奇怪。
编辑:我觉得这很奇怪,因为在c++中,你只需输入new A[4],它就创建了四个对象。
在java中声明一个新数组的一般形式如下:
type arrayName[] = new type[numberOfElements];
其中type是基本类型或Object。numberOfElements是您将存储到数组中的元素数量,这个值不能更改,因为Java不支持动态数组(如果您需要一个灵活的动态结构来保存对象,您可能需要使用一些Java集合)。
让我们初始化一个数组来存储一个5人的小公司中所有员工的工资:
Int salary [] = new Int [5];
数组的类型(在本例中为int)适用于数组中的所有值。不能在一个数组中混合类型。
现在我们已经初始化了工资数组,我们想要在其中放入一些值。我们可以在初始化过程中这样做:
Int salary [] = {50000, 75340, 110500, 98270, 39400};
或者在以后这样做:
salaries[0] = 50000;
salaries[1] = 75340;
salaries[2] = 110500;
salaries[3] = 98270;
salaries[4] = 39400;
更多数组创建的可视化示例:
要了解更多关于数组的知识,请查看指南。