如何在Java中声明动态对象数组?

如何在Java中声明动态对象数组?,java,object,Java,Object,我想问一个关于Java的问题。我有一个用户定义的对象类student,它有两个数据成员name和id。在另一个类中,我必须声明该对象[],例如student stu[?];。但是,我不知道对象数组的大小。是否可以声明一个对象数组,但不知道其大小?谢谢。改用用户阵列列表。它将在您添加新元素时自动展开。如果需要,以后可以将其转换为数组 另一个选项是不确定您到底想要什么,您可以声明Object[]字段,而不是立即初始化它。正如您现在可能已经了解到的,Java中的常规数组大小是固定的,数组的大小不能更改

我想问一个关于Java的问题。我有一个用户定义的对象类student,它有两个数据成员name和id。在另一个类中,我必须声明该对象[],例如student stu[?];。但是,我不知道对象数组的大小。是否可以声明一个对象数组,但不知道其大小?谢谢。

改用用户阵列列表。它将在您添加新元素时自动展开。如果需要,以后可以将其转换为数组


另一个选项是不确定您到底想要什么,您可以声明Object[]字段,而不是立即初始化它。

正如您现在可能已经了解到的,Java中的常规数组大小是固定的,数组的大小不能更改,因此为了向数组动态添加项,您需要一个可调整大小的数组。在Java中,可调整大小的数组实现为ArrayList类Java.util.ArrayList。 其使用的一个简单示例:

import java.util.ArrayList;

// Adds a student to the student array list.
ArrayList<Student> students = new ArrayList<Student>();
students.add(new Student());

Java中称为泛型的特性的括号是可选的;但是,您应该使用它们。基本上,它们限制了可以存储在数组列表中的对象的类型,因此不会在充满整数对象的数组中存储字符串对象。

可以声明为:Student stu[]=null;,并使用固定大小创建它:stu[]=new Student[10],直到您知道大小。如果必须使用数组。

这是不可能的,我们需要在声明对象数组时指定数组的大小

声明对象数组的一种方法

 student st[];
 st=new student[3];
第二条路

 student st[]=new student[5];
在这两种情况下,都不会创建任何对象,只会为阵列分配空间

st=new student[1];

这将创建一个新对象

Java中的数组不是不变的。您可以轻松地执行myArray[2]=13,从而更改数组。也许你的意思是它们的尺寸不能改变?是的,这就是我的意思,谢谢你澄清这一点。我会在我的回答中澄清这一点。-1:没有示例代码。我更喜欢这个答案,因为他们付出了最小的努力,实际上提供了足够的信息,在阅读他们的答案后,不需要进一步搜索:如果学生是一个班级,你应该用大写字母S称呼学生。