Имеется запись вида: List list;
В абстрактном классе.
В наследниках через конструктор, я его инициализирую. list = new ArrayList();
или list = new LinkedList();
Далее по коду в абстрактном классе имеется создание новых объектов типа List
, но будет это ArrayList
или LinkedList
будет зависеть от объекта list
что в начале. Как это реализовать?
Как получить класс из объекта list
и создать новый объект этого же класса.
Проверить все возможные варианты
if (list instanceof ArrayList) {
}
if (list instanceof LinkedList) {
}
List newList = null;
try {
newList = list.getClass().newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
Как вариант, можно сделать так:
public static boolean is(final Object object, final Class clas) {
return object.getClass().getSimpleName().equals(clas.getSimpleName());
}
List o = new LinkedList();
System.out.println(is(o, ArrayList.class)); //false
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
написал учебное приложение: бэк на java(Spring boot), а фронт на angularjsСейчас пытаюсь запустить приложение, томкэт запускается на порту 8080
Я запустил его в какой-то момент, и он был очень очень медленным, однако после того, как я закрыл его и открыл снова, он перестал работать с этой...
После обновления версии библиотек в buildgradle RecyclerView на api lvl 24+ отображает данные через раз, но на api lvl <24 всё работает стабильно