Ссылка на метод экземпляра и лямбда-параметры

У меня проблемы с пониманием синтаксиса для ссылки на метод, где есть два параметраa а такжеbи ссылка на методa наb.

Например, я понимаю, как

Arrays.sort(personArray, comparators::compareByName);

эквивалентно

Arrays.sort(personArray, (o1, o2) -> comparators.compareByName(o1, o2));

потому что в этом случае параметры лямбда соответствуют параметрам вызова метода(o1, o2).

Как бы то ни было для этой лямбды

stream.sorted((o1, o2) -> o1.compareToIgnoreCase(o2));

моя IDE говорит мне, что эквивалентно:

stream.sorted(String::compareToIgnoreCase);

и я не нахожу правила для замены этого синтаксиса:a.method(b) со ссылкой на метод.

Например, что если в лямбде есть три или более параметров? Это законно? Первый параметр становится целью метода, а остальные становятся параметрами?

Ответы на вопрос(2)

Ваш ответ на вопрос