Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: generics, wildcard

Что такое wildcard (?) в generics?

Этот вопрос проверяет понимание обобщений в Java и умение работать с типобезопасными коллекциями при неизвестных или ограниченных типах.

Короткий ответ

Wildcard (?) в generics используется, когда точный тип параметра неизвестен или не важен. Он позволяет писать более гибкий и универсальный код, который работает с разными параметризованными типами. Чаще всего wildcard применяется при работе с коллекциями. С его помощью можно ограничить допустимые типы сверху или снизу. Это помогает избежать ошибок компиляции и лишних приведений типов.

Длинный ответ

Определение

Wildcard (?) — это специальный символ в generics, обозначающий неизвестный тип, который может быть ограничен сверху или снизу.

Wildcard применяется, когда:

  • метод читает данные из параметризованного типа;

  • конкретный тип не важен, но важно его место в иерархии.

Основные варианты wildcard

  1. Неограниченный wildcard

    • Используется форма <?>

    • Означает «любой тип»

List<?> list = List.of(1, "text", 3.14);

При таком подходе:

  • можно читать элементы как Object

  • нельзя добавлять новые элементы (кроме null)

Когда применяется

Неограниченный wildcard подходит для:

  • универсальных методов

  • логирования, вывода, подсчёта элементов

  • операций, не зависящих от конкретного типа

Ключевая идея

Wildcard делает код более гибким, но накладывает ограничения на запись данных, чтобы сохранить типобезопасность.

Вывод

Wildcard (?) используют, когда тип заранее неизвестен или не принципиален. Это ключевой инструмент для написания обобщённого и безопасного API.

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • Java

    Java

Ключевые слова

#generics

#wildcard

Подпишись на Java Developer в телеграм