Class <?> cls = Class.forname(“java.util.ArrayList”);

160
08 октября 2019, 20:40

Разбирая чужой код, наткнулся на такую строчку

Class <?> cls = Class.forname("java.util.ArrayList");

Объясните, пожалуйста, что означает знак вопроса в скобках, и что это, подгружает что-то из класса ArrayList?

Answer 1
  1. <?> - короткая версия для <? extends Object>, так называемые Unbounded Wildcards. Позволяет задавать любой тип дженерику.

    Class<?> обозначает, что cls может быть любого типа.

    По возможности лучше избегать такого кода, так как он может привести ко множеству проблем.

  2. Class.forname же возвращает класс по имени, чтоб потом, к примеру, можно было создать его экземпляр cls.newInstance();

READ ALSO
Тот же publicPath при загрузке изображений из CSS и HTML

Тот же publicPath при загрузке изображений из CSS и HTML

Я хочу разбираться с webpackНу есть проблема путей img в html файле и css background image url

154
ООП в JavaScript наследование

ООП в JavaScript наследование

Почему не работает второй вариант? И можно ли что бы родительские свойства были в прототипе? acall(this) по этой причине не подходит

154
Получить геоданные массива адресов

Получить геоданные массива адресов

Есть массив адресовМне нужно получить координаты этих адресов и отобразить их на карте

202