繁体   English   中英

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

[英]How to declare a dynamic object array in Java?

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

正如您现在可能已经发现的那样,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());

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

用户ArrayList代替。 当您添加新元素时,它会自动扩展。 如果需要,稍后您可以将其转换为数组。

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

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

  1. 一种声明对象数组的方法

     student st[]; st=new student[3];
  2. 第二种方式

     student st[]=new student[5];

在这两种情况下,都不会创建任何对象,只是为数组分配了空间。

st=new student[1];

这将创建一个新对象;

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM