#java #массивы #arraylist
Есть Class1 и Class2. И есть класс, который должен создавать массивы из этих классов. Если передавать в конструктор объект неизвестного класса и там делать проверку, то возникает ошибка. Как это сделать? Класс для создания массива: package com.company; import java.util.ArrayList; public class Generic { private ArrayListarr1 = new ArrayList<>(); private ArrayList arr2 = new ArrayList<>(); Generic(Object obj) { if (obj instanceof Class1) { this.arr1.add(obj); // Здесь ошибка возникает, хотя делаем проверку } } }
Ответы
Ответ 1
Следует явно привести тип переменной к классу: import java.util.ArrayList; public class Generic { private ArrayListarr1 = new ArrayList<>(); private ArrayList arr2 = new ArrayList<>(); Generic(Object obj) { if (obj instanceof Class1) { this.arr1.add((Class1)obj); // Здесь добавляем приведение типа } } }
Комментариев нет:
Отправить комментарий