Как работает вывод типов?
Выводом типов, в языке Java, называется функция компилятора определять вместо вас требуемый тип. Чтобы успешно пройти интервью требуется знать, что определение нужного типа осуществляется на основании знания параметров передаваемых аргументов и выдаваемого результата.
diamond operator <> впервые был введён в седьмой версии языка Java. Он применяется к конструкторам классов Generics классов. В девятой версии diamond operator стал работать также и с анонимными классами. В десятой версии появилось слово var, которое используется для локальной переменной. Оно указывается вместо типа, когда нужно объявить переменную. Начиная с одиннадцатой версии Java допускается не задавать тип параметра, возвращаемой лямбда выражением. Вместо этого используется слово var. Что позволят указывать для параметра аннотации.
< T > T genericMethod(T param) {...}
genericMethod(l); // T = Integer
this.<0bject>genericMethod(2); // T = Object, синтаксис требует присутствия оператора
Number number = genericMethod(3); // T = Number
List<String> a = new ArrayList(); // тип непредсказуем
List<?> b = new ArrayList <String>(); // тип неважен
List<String> с = new ArrayList<>(); // тип очевиден
Supplier<String> supplier = new Supplier<>() {
@Override public String get() {return "Такое работает c Java 9"; }
};
var strVar = "А это c Java 10"; // Переменная strVar имеет тип String
int transformed = strVar.transform(
(@NonNull final var s) -> s.hashCode()
}; // C Java 11
От нуля до работы за 10 месяцев
AI Sprints — обучение профессиям с ИИ
Выберите трек Android, Backend или QA. Дорожная карта от основ до Junior с менторской поддержкой на каждом этапе
- Дорожная карта: чёткий план от азов до трудоустройства — знаете, что делать дальше
- Менторы: код-ревью на каждое задание и карьерные консультации
- Результат: портфолио из проектов и поддержка при поиске работы
AI Challenge — собери чат-бота за 5 дней
Бесплатный марафон по AI-инжинирингу. Cursor + OpenAI, 60 минут в день — без опыта в программировании. К пятнице у вас будет рабочий чат-бот с памятью в браузере.
- Практика с первого дня, без теории «в стол»
- Готовый проект в портфолио к концу недели
- Старт в любой день — учитесь в своём темпе