Pracuję z Twitter4J. Ale pytanie, które zadaję, jest bardziej ogólne. Chcę uzyskać dostęp do identyfikatora użytkownika danego tweeta. Obecnie mam dwie następujące opcje:Referencje metody Łańcuch mapy
//Option 1
stream.map(status -> status.getUser().getId())
.forEach(System.out::println);
//Option 2:
stream.map(Status::getUser)
.map(User:getId)
.forEach(System.out::println);
Nie lubię wyrażenia lambda w pierwszej opcji, ani zmuszony zadzwonić dwa maps
w drugim. Czy istnieje sposób na utworzenie łańcucha odwołań do metod? Wiem, że Status::getUser::getId
nie działa, ale zastanawiam się, czy istnieje alternatywa.
Dlaczego nie lubisz 2 "map" połączeń? Czy martwisz się wydajnością? Nie musisz - strumień zostanie przetworzony w jednym przebiegu. –
Gadatliwość. Z tego samego powodu istnieje "status.getUser(). GetId()", miałem nadzieję, że istnieje coś takiego jak "Status :: getUser :: getId". – mossaab