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의 :: 새 새 ); } }