У меня есть этот код на Котлине, как мне написать его на Java?
typealias ResolutionSelector = Iterable<Resolution>.() -> Resolution?
/**
* @return Selector function which always provides the biggest resolution.
*/
fun highestResolution(): ResolutionSelector = { maxBy(Resolution::area) }
Чтобы добавить пользовательский селектор в список.
@AVEbrahimi Я немного не разбираюсь в Kotlin, не могли бы вы описать это словами? Что оно делает?




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