996은 효율적인 이별, 자바 프로그래밍 및 효율적인 방법 참조에 문을 열고 입찰 간결 2-15

2-14 및 2-12 반복 과정 때문에 아무런 문제가 없다

방법 1 개 기준 조건

 시간의 요구 사항을 충족하기 위해 기준 시나리오 여부를 결정하는 방법은, 우리는 볼 필요가 인삼 속으로 인삼은 에 맞는 인터페이스 요구 사항



 

방법 2 참조 시나리오

 참조 유형 네 가지 방법 :

클래스 :: StaticMethod를 용의 정적 메서드에 
기존 개체에 대한 개체를 점하는 방법의 예 : instanceMethod는
예 방법의 모든 종류의 C1ass :: instanceMethod로 이동
지점 클래스 :: 새로운 생성자

 

 

3 방법 참조는 데모
패키지 com.imooc.zhangxiaoxi.lambda, 

가져 오기 인 java.util.ArrayList의,
 가져 오기 를 java.util.List;
 가져 오기 java.util.Optional는; 

/ ** 
 * MethodReferenceTest 
 * 
 * 참조를 결정하는 방법은 그냥 수, 현장의 요구 사항을 충족 우리는 인터페이스의 요구 사항을 충족하기 위해 매개 변수와 매개 변수를 참조 
 * 
 * @author 웨이 완두콩 
 * @date 2020년 4월 6일 
 * / 
공용  클래스 MethodReferenceTest { 

    정적  클래스 SKU {
         개인 ; 문자열 SKUNAME
         개인 정수 skuPrice을; 

        공공 정수 getSkuPrice ( ) {
             반환 skuPrice를; 
        } 

        / **
         *静态类方法引用
         * @param sku1 
         * @param sku2 
         * @return 
         * / 
        공용  정적  INT staUse (SKU sku1 고아 sku2) {
              sku1.getSkuPrice () - sku2.getSkuPrice (); 
        } 

        공공  INT instanceComparePrice (SKU SKU) {
             반환   - .getSkuPrice () ;) sku.getSkuPrice을 ( 
        } 
    } 

    클래스 PriceComparator {
         공공  INT staUse2 (SKU sku1, 고아 sku2) {
             반환   sku1.getSkuPrice () -sku2.getSkuPrice (); 
        } 
    } 

    / ** 
     * 정렬 방법과 비교 방법에있어서 비교 인터페이스 개의 파라미터 수신 동일한 유형 수신 
     * 
     * 및 케이스, 
     동일한 유형의 * 1 개 개의 파라미터 (sku1, sku2)를 
     이들 2 가의 * 형 빼기 반환 INT 
     들이 정렬 람다로서 사용될 수있다 * 
     * / 
    공용  공극 테스트 () { 
        목록 <SKU> = skuList 새로운 새로운 ArrayList를 <SKU> () 
        skuList.sort ((SKU1, SKU2 ) -> 
                sku1.getSkuPrice () - sku2.getSkuPrice ()); 


        // 클래스 1 :: 메소드 명 
        skuList.sort (SKU :: staUse);
         // 1 개 확장 
        skuList.sort (SKU (sku1, SKU의 sku2 ) ->{
             반환 Sku.staUse (SKU1, SKU2는); 
        })는; 

        // 2 :: 주제 예를 들어, 메소드 이름 
        PriceComparator priceComparator는 = 새로운 새로운 PriceComparator (); 
        skuList.sort (priceComparator :: staUse2); 
        // 2는 확장 
        skuList.sort을 (( SKU1 SKU, SKU SKU2은) -> {
             반환 priceComparator.staUse2 (SKU1, SKU2); 
        }); 


        // 클래스 3 : 메소드 이름의 예 
        skuList.sort (SKU : instanceComparePrice이);
         // . 3 확장 
        skuList.sort을 ( (객체 SKU, SKU SKU2) -> {
                     반환 object.instanceComparePrice (SKU2); 
                }
        ); 

        //4 기준점 생성자 
     // skuList는 비어 있거나 널 (null),
Optional.ofNullable (skuList) .orElseGet ( ArrayList의 :: 새 새 ); } }

 

 

 

추천

출처www.cnblogs.com/1446358788-qq/p/12640970.html