Java 8 새 기능 내장 함수식 인터페이스 상세 정보

Java 8 새로운 기능 내장 함수식 인터페이스
이전의 블로그 람다 표현식에서 자바 8이 제공하는 함수식 인터페이스를 언급한 적이 있다.이 글에서 자바 8의 가장 기본적인 함수식 인터페이스를 소개할 것이다
방법의 인용에 대해 엄격하게 말하자면 인터페이스를 정의해야 한다.우리가 어떻게 조작하든지 간에 실제로 조작할 수 있는 인터페이스는 단지 네 가지뿐이다.
Java 8은 함수식 인터페이스 패키지java를 제공합니다.util.function.*,이 패키지 아래에는 많은 Java 8 내장 함수식 인터페이스가 있습니다.그러나 기본적으로 네 가지 기본으로 나뉜다.
기능 인터페이스(Function)
T를 입력으로 하고 R을 출력으로 되돌려줍니다. 다른 함수와 조합하는 기본 방법도 포함되어 있습니다.

@FunctionalInterface
public interface Function<T, R> {

  R apply(T t);

}
 

예제 코드

   
public static void main(String[] args) {
    
    //  Java8   , !
    Function<String,Boolean> function = "Hello Java" :: endsWith;
    System.out.println(function.apply("Java"));
}
 
소비 인터페이스(Consumer)
T를 입력으로 하여 개별 매개변수에 대한 작업을 반환하지 않습니다.

@FunctionalInterface
public interface Consumer<T> {

  void accept(T t);

}
 

예제 코드


class TestDemo{
  // , 
  public void fun(String str){
    System.out.println(str);
  }
}


public class TestFunctional {
  public static void main(String[] args) {
    TestDemo demo = new TestDemo();
    // , , 
    Consumer<String> consumer = demo :: fun;
    consumer.accept("");

  }
}


공급형 인터페이스(Supplier)
입력 매개 변수가 없습니다. T만 출력을 되돌려줍니다.

@FunctionalInterface
public interface Supplier<T> {

  T get();

}

예제 코드



public class TestFunctional {
  public static void main(String[] args) {

    // , , !
    Supplier<String> supplier = "java 8" :: toUpperCase;
    System.out.println(supplier.get());
  }
}

단언 인터페이스(Predicate)
T를 입력으로 하고 부울 값을 출력으로 되돌려줍니다. 이 인터페이스는 Predicate를 다른 복잡한 논리로 조합하는 여러 가지 기본 방법을 포함합니다.

@FunctionalInterface
public interface Predicate<T> {

  boolean test(T t);

}
 

예제 코드

  public class TestFunctional {
  public static void main(String[] args) {
    
    // 。 , 
    Predicate<String> predicate = "Android" :: equalsIgnoreCase;
    System.out.println(predicate.test("android"));
    
  }
}
   
그래서 자바 8에는 상기 네 개의 기능형 인터페이스가 존재하기 때문에 일반적으로 사용자가 새로운 함수식 인터페이스를 정의하는 경우는 드물다!
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기