Sobes.tech
Middle
146

Ką žinote apie funkcines sąsajas Java 8 ir naujesnėse versijose?

Atsakymas iš AI

sobes.tech AI

Funkcinis interfeisas yra interfeisas, kuris turi tik vieną abstraktų metodą. Jis naudojamas lambda išraiškoms ir metodų nuorodoms įgyvendinti. Jis gali turėti numatytus ir statinius metodus.

Pavyzdžiai įmontuotų funkcinio interfeiso paketų java.util.function:

  • Predicate<T>: Priima T tipo argumentą ir grąžina loginę reikšmę.
    // public boolean test(T t);
    
  • Consumer<T>: Priima T tipo argumentą ir nieko negrąžina. Atlieka veiksmą su argumentu.
    // public void accept(T t);
    
  • Supplier<T>: Nėra argumentų ir grąžina T tipo reikšmę.
    // public T get();
    
  • Function<T, R>: Priima T tipo argumentą ir grąžina R tipo reikšmę.
    // public R apply(T t);
    

@FunctionalInterface anotacija yra pasirenkama, tačiau rekomenduojama patikrinimui kompilatoriu ir aiškumui.

@FunctionalInterface
interface MyFunction {
    String process(String input);
    
    default void doNothing() {
        // Numatytoji metodas
    }
}