Java8 教程

Java8 Lambda 省略格式

上面章节介绍了 Lambda 表达式的标准语法,下面将介绍怎样在 Lambda 标准格式的基础上,使用省略写法来简化 Lambda 表达式。

类型省略

小括号内参数的类型可以省略,例如:

package com.hxstrive.jdk8.lambda_omit;

import java.util.Arrays;

/**
* 省略类型
* @author hxstrive.com
*/
public class LambdaOmit01 {

   public static void main(String[] args) {
       String[] strs = {
               "hello",
               "administrator",
               "java"
       };

       // 省略前
       Arrays.sort(strs, (String o1, String o2) -> {
           return o1.length() - o2.length();
       });

       // 省略后
       Arrays.sort(strs, (o1, o2) -> {
           return o1.length() - o2.length();
       });
   }

}

省略小括号

如果小括号内有且仅有一个参数,则小括号可以省略。例如:

package com.hxstrive.jdk8.lambda_omit;

import java.util.function.Predicate;

/**
* 省略小括号
* @author hxstrive.com
*/
public class LambdaOmit02 {

   public static void main(String[] args) {
       // 省略前
       greaterThan50((e) -> {
           return e > 50;
       }, 58);

       // 省略后
       greaterThan50(e -> {
           return e > 50;
       }, 58);
   }

   private static void greaterThan50(Predicate<Integer> predicate, int val) {
       if(predicate.test(val)) {
           System.out.println("大于50");
       } else {
           System.out.println("小于等于50");
       }
   }

}

省略大括号

如果大括号内有且仅有一个语句,则可以同时省略大括号、return 关键字及语句分号。例如:

package com.hxstrive.jdk8.lambda_omit;

import java.util.function.Predicate;

/**
* 省略大括号
* @author hxstrive.com
*/
public class LambdaOmit03 {

   public static void main(String[] args) {
       // 省略前
       greaterThan50((e) -> {
           return e > 50;
       }, 58);

       // 省略后
       greaterThan50(e ->  e > 50, 58);
   }

   private static void greaterThan50(Predicate<Integer> predicate, int val) {
       if(predicate.test(val)) {
           System.out.println("大于50");
       } else {
           System.out.println("小于等于50");
       }
   }

}
说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号