#java #массивы #arraylist
Есть Class1 и Class2. И есть класс, который должен создавать массивы из этих классов.
Если передавать в конструктор объект неизвестного класса и там делать проверку, то
возникает ошибка. Как это сделать?
Класс для создания массива:
package com.company;
import java.util.ArrayList;
public class Generic {
private ArrayList arr1 = 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); // Здесь добавляем приведение типа } } }
Комментариев нет:
Отправить комментарий