Junior — Middle
V akých situáciách ste vo svojich projektoch používali funkčné rozhrania?
sobes.tech AI
Odpoveď od AI
V Jave som používal funkčné rozhrania v situáciách, keď bolo potrebné odovzdať správanie ako parameter, napríklad pri práci s tokmi dát (Streams API) alebo pri implementácii spätných volaní (callbackov). Často som používal rozhrania z balíka java.util.function, ako sú Predicate, Function, Consumer, na filtrovanie, transformáciu a spracovanie kolekcií.
Príklad použitia funkčného rozhrania Predicate na filtrovanie zoznamu:
List<String> mená = Arrays.asList("Anna", "Bob", "Alice", "Mike");
Predicate<String> začínaNaA = s -> s.startsWith("A");
List<String> filtrované = mená.stream()
.filter(začínaNaA)
.collect(Collectors.toList());
// filtrované bude obsahovať "Anna" a "Alice"