#java #классы #рефлексия
Изучаю сейчас Reflection. В примере есть строка Class cls1 = Integer.class; Что означает знак вопроса? И почему нельзя просто написать Class cls1 = Integer.class;
Ответы
Ответ 1
Grundy прав. По идее он может быть полезен в трех случаях. Когда классов обобщения несколько и лишь один нужно оставить неизвестным. Когда вам необходимо одну и ту же переменную инициализировать объектами с разными видами обобщения. Если использовать Object то при инициализации new Listбудет ошибка, а при вы сможете инициализировать эту переменную и как new List и как new List . Исходя из предыдущего, вы можете определять ее каким-либо интерфейсом или суперклассом , и инициализировать любым классом, который подходит этим критериям, а не только конкретно этим интерфейсом или классом (Этакая двойная фильтрация).
Комментариев нет:
Отправить комментарий