Как работает вывод типов?

Выводом типов, в языке 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

Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *