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

Que*_*ons 17 java object

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

age*_*217 22

正如您现在可能已经想到的那样,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());
Run Code Online (Sandbox Code Playgroud)

<Student>支架(功能称为Java泛型)是可选的; 但是,你应该使用它们.基本上它们限制了可以存储在数组列表中的对象类型,因此最终不会将String对象存储在一个充满Integer对象的数组中.


Nik*_*bak 18

用户ArrayList改为.它会在您添加新元素时自动扩展.稍后您可以根据需要将其转换为数组.

作为另一种选择(不确定你想要什么),你可以声明Object[]字段而不是立即初始化它.

  • -1:没有示例代码。我更喜欢这个答案,因为他们付出了最小的努力,实际上提供了足够的信息,阅读他们的答案后不需要进一步搜索:http://stackoverflow.com/a/3887507/901641 (3认同)