Ну, к сожалению, у Java нет псевдонимов типов.
И я думаю, что лучшее, что вы можете получить, это
resolutions.stream()
.max(Comparator.comparingInt(Resolution::getArea));
Stream#max
действительно принимает Comparator<? super T> comparator
, что вы можетестроить раньше времени, а затем передавать в качестве ввода.
Таким образом, вы можете сохранить лямбда-функцию , такую как
final Comparator<Resolution> resolutionComparator = (r1, r2) -> /* Comparison logic */;
Редактировать: пример, который я опубликовалс var
не может работать, потому что компилятор не может определить фактический тип переменной.