У меня есть список Arraylist1 (банан, апельсин ...), и у меня есть классный плод. Я хочу создать список Arraylist2, элементами которого являются экземпляры фруктов, а имена экземпляров - это элементы списка1. я сделал все натуры с тем же именем, но мне нужно определенное имя для каждого экземпляра. возможно ли это в java? я попытался это, но он не работает для меняСоздайте Arraylist классов
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;
}
}
Почему вы не используете 'new Fruit()' для создания ваших фруктов? У вас есть некоторые ограничения? Можете ли вы показать нам свой класс «Фрукты»? –
@ArnaudDenoyelle это сделано – Mikou
Вы должны использовать 'Map ', чтобы держать ваши данные бакалеи. –