Это ссылка на метод в Java 8. Документация оракула здесь .
Как указано в документации ...
Ссылка метода Person :: compareByAge является ссылкой на статический метод.
Ниже приведен пример ссылки на метод экземпляра конкретного объекта:
class ComparisonProvider { public int compareByName(Person a, Person b) { return a.getName().compareTo(b.getName()); } public int compareByAge(Person a, Person b) { return a.getBirthday().compareTo(b.getBirthday()); } } ComparisonProvider myComparisonProvider = new ComparisonProvider(); Arrays.sort(rosterAsArray, myComparisonProvider::compareByName);
Ссылка на метод myComparisonProvider :: compareByName вызывает метод compareByName, который является частью объекта myComparisonProvider. JRE запрашивает аргументы типа метода, которые в этом случае являются (Person, Person).