我有一个 Arraylist list1 (banana,orange...) ,我有一个类 fruit 。我想创建一个 Arraylist list2 ,它的元素是 fruit 的实例,实例的名称是 list1 的元素。我做了所有同名的意图,但我需要每个实例的特定名称。这在java中可能吗?我试过了,但它对我不起作用
public class list {
public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
ArrayList<String> list1=new ArrayList<>();
ArrayList<Fruit> list2=new ArrayList<>();
list1.add("banana");
list1.add("Orange");
list1.add("strawberry");
for (int i = 0; i < list1.size(); i++) {
String className=list1.get(i);
Class<?> clazz = Class.forName(className);
Object obj = clazz.newInstance();
list2.add((Fruit) obj);
}
}
}
public class Fruit {
int price;
String color;
public Fruit() {
}
public int getPrice() {
return price;
}
public String getColor() {
return color;
}
public void setPrice(int price) {
this.price = price;
}
public void setColor(String color) {
this.color = color;
}
}