Java 8 내장 기능 인터페이스의 새로운 기능
이전 블로그 게시물 인 Lambda Expression에서 Java 8에서 제공하는 기능 인터페이스를 언급했습니다.이 기사에서는 Java 8에서 가장 기본적인 4 가지 기능 인터페이스를 소개합니다.
방법에 대한 참조의 경우 엄격하게 말하면 인터페이스를 정의해야합니다. 우리가 어떻게 작동하든 실제로 작동 할 수있는 4 개의 인터페이스 만 있습니다.
Java 8은 기능 인터페이스 패키지 java.util.function.*를 제공하며 Java 8에 내장 된 많은 기능적 인터페이스가 있습니다. 그러나 기본적으로 4 가지 기본 유형으로 나뉩니다.
기능 인터페이스 (기능)
t는 입력으로, r을 출력으로 사용하면 다른 함수와 결합 된 기본 메소드도 포함됩니다.
@functionalInterFacePublic Interface 함수 <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"));} 소비자 인터페이스
아무것도 반환하지 않고 입력으로 t를 가져 가서 단일 매개 변수에서 작업을 나타냅니다.
@functionalInterFacePublic 인터페이스 소비자 <t> {void accept (t t);} 샘플 코드
클래스 testdemo {//이 메소드는 리턴 값이 없지만 입력 매개 변수가 있습니다. public void fun (string str) {System.out.println (str); }} public class testfunctional {public static void main (String [] args) {testdemo demo = new testdemo (); // 소비자 유형 인터페이스, 입력 매개 변수 만, 출력 매개 변수 없음 소비자 <String> Consumer = Demo :: Fun; Consumer.ccept ( ""); }}
공급 업체
입력 매개 변수가없고 t 만 출력을 반환합니다
@FunctionalInterFacePublic Interface Supplier <t> {t get ();} 샘플 코드
public class testfunctional {public static void main (String [] args) {// 공급자 유형 인터페이스, 출력 매개 변수, 입력 매개 변수 없음! 공급 업체 <문자열> 공급 업체 = "Java 8":: ToupperCase; System.out.println (supplier.get ()); }} 어설 션 인터페이스 (술어)
T를 입력으로 취하고 부울을 출력으로 반환하는 인터페이스에는 술어를 다른 복잡한 논리 (및 비)에 결합하는 여러 기본 메소드가 포함되어 있습니다.
@functionalInterFacePublic Interface Precte <T> {부울 테스트 (t t);} 샘플 코드
public class testfunctional {public static void main (String [] args) {// assert type interface. 입력 매개 변수가 있으며 출력 매개 변수는 부울 술어 <문자열> 술어 = "Android":: equalsignorecase입니다. System.out.println (preticate.test ( "Android")); }}따라서 Java 8에서는 위의 4 가지 기능 인터페이스가 있으므로 사용자가 새로운 기능적 인터페이스를 정의하는 것은 일반적으로 드 rare니다!
읽어 주셔서 감사합니다. 도움이되기를 바랍니다. 이 사이트를 지원 해주셔서 감사합니다!