방법 인용

2126 단어
이전 JDK에서는 배열, 클래스, 인터페이스만 참조 작업을 수행했습니다.현재 방법 인용이 추가되었습니다.인용의 본질은 바로 별명이다. 따라서 방법 인용은 바로 방법의 별명이다.
  • 인용 정적 방법: 클래스 이름::static 방법 이름
  • 어떤 대상을 인용하는 방법: 실례화 대상: 일반 방법 명칭
  • 특정 클래스를 인용하는 방법: 클래스 이름: 일반 방법
  • 인용 구조 방법: 클래스 이름::new
  • 예: 정적 방법 참조
    
    public class Demo1 {
        @FunctionalInterface
        interface IUtil {
            public R transform(P p);
        }
    
        public static void main(String args[]){
            IUtil iu = String::valueOf;
            String str = iu.transform(1000);
            System.out.println(str.length());
        }
    }
    

    스트링의valueOf 방법에 인터페이스의 별명을 붙이는 것과 같다.
    예: 어떤 대상을 인용하는 방법
    public class Demo2 {
        @FunctionalInterface
        interface IUtil {
            public R transform();
        }
    
        public static void main(String args[]){
            IUtil iu = "Hello"::toUpperCase;   // 
            String str = iu.transform();
            System.out.println(str);
        }
    }
    

    범례: 특정한 종류의 일반적인 방법을 인용하다
    public class Demo3 {
        @FunctionalInterface
        interface IUtil {
            public R bijiao(P p1, P p2);
        }
    
        public static void main(String args[]){
            IUtil iu = String::compareTo;
            Integer whichBig = iu.bijiao("Hello","World");
            System.out.println(whichBig);
        }
    }
    

    예: 참조 구조 방법: 클래스 이름::new
    class Person {
        private String name;
        private Integer age;
    
        public Person(String name,Integer age){
            this.name = name;
            this.age = age;
        }
    
        @Override
        public String toString() {
            return "Person{" +
                    "name='" + name + '\'' +
                    ", age=" + age +
                    '}';
        }
    }
    
    @FunctionalInterface
    interface IUtil

    { public P create(S s, I i); } public class Demo4 { public static void main(String args[]){ IUtil iu = Person::new; System.out.println(iu.create("lihua",15).toString()); } }

    좋은 웹페이지 즐겨찾기