首页 > 解决方案 > 我们可以从数组列表中创建一个类的对象吗?

问题描述

我们可以将数组的元素作为Java中某个类的对象的名称传递吗?假设我创建了一个带有一些属性的类 Cars。

class Cars {
  int maxSpeed;
  int mileage;
  public double roadTax(int manufactureYear){
      int x = 150;
      while((manufactureYear<2021) && (manufactureYear > 2010)){
          for (int i = 2010; i < manufactureYear; i++)
          x += (x + (0.10 *x));
      return x;
  }
}

我们可以使用通常的代码为此类创建一些对象,例如

Cars Volvo = new Cars();

假设我有一个品牌字符串数组,我想为数组中的每个元素创建一个对象

String[] carBrands= {"Volvo","BMW","Renault","Ford", ..... }

有没有一种代码我们可以将列表中的所有元素作为 Cars 类的对象传递,而不必为每个元素编写一个。

标签: javaarraysclassoopobject

解决方案


就个人而言,我会为此使用地图;

String[] carBrands = {"Volvo", "BMW", "Renault", "Ford"};
Map<String, cars> cars = new HashMap<>();
for (int i = 0; i < carBrands.length; i++) {
    cars.put(carBrands[i], new cars());
}

推荐阅读