如何在 Java 中创建对象数组?它们的缺点是什么?


数组是一个容器,可以容纳固定数量的项目,并且这些项目必须是相同类型。大多数数据结构都利用数组来实现其算法。以下是理解数组概念的重要术语。

  • 元素:存储在数组中的每个项目称为元素。
  • 索引:数组中每个元素的位置都有一个数字索引,用于识别该元素。

创建对象数组

是的,由于对象在 Java 中也被视为数据类型(引用),因此您可以创建一个特定类类型的数组,并用该类的实例填充它。

示例

以下 Java 示例有一个名为 Std 的类,稍后在程序中,我们创建了一个 Std 类型的数组,对其进行填充,并对数组的所有元素调用一个方法。

在线演示

class Std {  
   private static int year = 2018;
   private String name;
   private int age;
   public Std(String name, int age){
      this.name = name;
      this.age = age;
   }
   public void setName(String name) {
      this.name = name;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public void display(){
      System.out.println("Name: "+this.name);
      System.out.println("Age: "+this.age);
      System.out.println("Year: "+Std.year);
   }
}
public class Sample {
   public static void main(String args[]) throws Exception {  
   //Creating an array to store objects of type Std
   Std st[] = new Std[4];  
   //Populating the array
      st[0] = new Std("Bala", 18);
      st[1] = new Std("Rama", 17);
      st[2] = new Std("Raju", 15);
      st[3] = new Std("Raghav", 20);
      //Invoking display method on each object in the array
      for(int i = 0; i<st.length; i++) {
       st[i].display();
       System.out.println(" ");
      }
   }
}

输出

Name: Bala
Age: 18
Year: 2018

Name: Rama
Age: 17
Year: 2018

Name: Raju
Age: 15
Year: 2018

Name: Raghav
Age: 20
Year: 2018

对象数组的缺点

  • 要将对象存储在数组中,我们通常需要知道数组的长度,而这并非总是可能的。
  • 创建对象数组后,您无法修改其内容,没有可用的方法可以这样做(不像集合)。
  • 不建议使用对象数组(考虑到内存问题)。

更新于: 2021年2月8日

112 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告