996 despido de vosotros eficiente, abrir la puerta a la programación Java y referencia sucinta método eficiente 2-15

2-14 y 2-12 ciclos repetidos, por lo que no hay ningún problema para

Método 1 condiciones de referencia

 Método para determinar si el escenario de referencia para satisfacer las necesidades de la época, sólo tenemos que mirar hacia el ginseng y ginseng cumple con los requisitos de la interfaz de



 

2 escenario de referencia método

 Cuatro formas de los tipos de referencia:

Para un método estático de la clase :: staticMethod 
ejemplo de un método de un punto objeto a un objeto existente :: instanceMethod
dirigida a cualquier tipo de un procedimiento de ejemplo C1ass :: instanceMethod
punto Class :: nuevo constructor

 

 

3 referencias de métodos de demostración
Paquete com.imooc.zhangxiaoxi.lambda; 

Importación de java.util.ArrayList;
 Importación java.util.List;
 Importación java.util.Optional; 

/ ** 
 * MethodReferenceTest 
 * 
 * Método de referencia para determinar cumple con los requisitos de la escena, sólo puede vemos los parámetros y los parámetros para satisfacer los requisitos de la interfaz 
 * 
 * @author Wei guisantes 
 * @date 04/06/2020 
 * / 
público  de clase MethodReferenceTest { 

    estática  clase Sku {
         privada cadena SKUNAME;
         privada Entero skuPrice; 

        pública Entero getSkuPrice ( ) {
             volver skuPrice; 
        } 

        / **
         *静态类方法引用
         * @param sku1 
         * @param sku2 
         * @return 
         * / 
        pública  estática  int Stause (SKU sku1, Goa sku2) {
             retorno sku1.getSkuPrice () - sku2.getSkuPrice (); 
        } 

        Pública  int instanceComparePrice (SKU SKU) {
             devolver  este .getSkuPrice () - sku.getSkuPrice (); 
        } 
    } 

    Clase PriceComparator {
         pública  int staUse2 (SKU sku1, Goa sku2) {
             retorno   sku1.getSkuPrice () -sku2.getSkuPrice (); 
        } 
    } 

    / ** 
     * Ordenar recibir interfaces de comparar, el cual método método comparar, el mismo tipo de recibir dos parámetros 
     * 
     * y casos, 
     * 1 dos parámetros (sku1, sku2) del mismo tipo 
     su monovalente * 2 resta int tipo de retorno 
     * que se pueden utilizar como lambda tipo 
     * / 
    público  vacío Test () { 
        Lista <Sku> = skuList nueva nueva ArrayList <Sku> (); 
        skuList.sort ((SKU1, SKU2 ) -> 
                sku1.getSkuPrice () - sku2.getSkuPrice ()); 


        // clase 1 :: nombre del método 
        skuList.sort (SKU :: Stause);
         // 1 expansión 
        skuList.sort ((SKU sku1, Sku sku2 ) ->{
             Return Sku.staUse (SKU1, SKU2); 
        }); 

        // 2 :: sujeto ejemplo nombre del método 
        PriceComparator priceComparator = nuevo nuevo PriceComparator (); 
        skuList.sort (priceComparator :: staUse2); 
        // 2 Expand 
        skuList.sort (( SKU1 SKU, SKU SKU2) -> {
             retorno priceComparator.staUse2 (SKU1, SKU2); 
        }); 


        // clase 3 :: ejemplo de un nombre de método 
        skuList.sort (SKU :: instanceComparePrice);
         // . 3 expandido 
        skuList.sort ( (objeto código de artículo, Sku SKU2) -> {
                     retorno object.instanceComparePrice (SKU2); 
                }
        ); 

        // punto 4 de referencia constructor 
     // skuList está vacío, o nulo,
Optional.ofNullable (skuList) .orElseGet ( el ArrayList :: nuevo nuevo ); } }

 

 

 

Supongo que te gusta

Origin www.cnblogs.com/1446358788-qq/p/12640970.html
Recomendado
Clasificación