Sobes.tech
Middle

Ko jūs zināt par funkcionalajām saskarnēm Java 8 un jaunākajās versijās?

sobes.tech AI

Atbilde no AI

Funkcionālais interfeiss ir interfeiss, kas satur tikai vienu abstraktu metodi. To izmanto lamdba izteiksmju un metožu atsauču īstenošanai. Tam var būt noklusējuma un statiskās metodes.

Piemēri iebūvētiem funkcionālajiem interfeisiem paketē java.util.function:

  • Predicate<T>: Pieņem argumentu no T tipa un atgriež boolean vērtību.
    // public boolean test(T t);
    
  • Consumer<T>: Pieņem argumentu no T tipa un neko neatgriež. Veic darbību ar argumentu.
    // public void accept(T t);
    
  • Supplier<T>: Ne pieņem argumentus un atgriež T tipa vērtību.
    // public T get();
    
  • Function<T, R>: Pieņem argumentu no T tipa un atgriež R tipa vērtību.
    // public R apply(T t);
    

@FunctionalInterface anotācija ir izvēles, bet ieteicama kompilatora pārbaudei un skaidrībai.

@FunctionalInterface
interface MyFunction {
    String process(String input);
    
    default void doNothing() {
        // Noklusējuma metode
    }
}