首页 > 其他分享 >Lambda表达式

Lambda表达式

时间:2023-03-06 17:02:27浏览次数:35  
标签:return int static public 表达式 Lambda

Lambda表达式使用前提:

  1、有一个接口;

  2、接口有且只有一个抽象方法。

Lambda表达式的标准格式:(形式参数) -> {代码块} ,如果有多个形式参数,逗号隔开,没有参数留空即可。

组成Lambda表达式的三要素:形式参数、箭头、代码块

分析:

  ():里面是形式参数,没有就是空的,有多个就逗号隔开;

  ->    :由英文中划线和大于符合组成,固定写法,代表指向动作;

  { }    :大括号就是代码块,里面的内容是具体要写的方法内容。

Lambda表达式的省略格式:a、参数类型可以省略;

              b、如果参数有且仅有一个,小括号可以省略;

              c、如果代码块语句只有一条,大括号、分号可以省略,甚至是return。

 

public class LambdaTest {

    public static void main(String[] args) {

        useShowTest(() -> {
            System.out.println("我是Lambda表达式调用的无参无返回值方法");
        });

        useShowTest1((int num) -> {
            System.out.println("我是Lambda表达式调用的有参无返回值方法");
        });

        int a = useRandomNumTest(() -> {
            Random r = new Random();
            int num = r.nextInt(10) + 1;
            return num;
        });
        System.out.println("我是Lambda表达式调用的无参有返回值方法返回的结果----" + a);

        int z = useCalculatorTest((int m, int n) -> {
            return m - n;
        });
        System.out.println("我是Lambda表达式调用的有参有返回值方法返回的结果----" + z);

        String s = useOmissionTest(msg -> "这是Lambda表达式的省略格式。。。");
        System.out.println(s);
    }

    public static void useShowTest(ShowTest s) {
        s.show();
    }

    public static void useShowTest1(ShowTest1 s1) {
        s1.show1(10);
    }

    public static int useRandomNumTest(RandomNumTest r) {
        return r.getNum();
    }

    public static int useCalculatorTest(CalculatorTest c) {
        return c.calc(28, 10);
    }

    public static String useOmissionTest(OmissionTest o) {
        return o.omission("");
    }

}

interface ShowTest {
    void show();
}

interface ShowTest1 {
    void show1(int num);
}

interface RandomNumTest {
    int getNum();
}

interface CalculatorTest {
    int calc(int m, int n);
}

interface OmissionTest {
    String omission(String msg);
}

 

标签:return,int,static,public,表达式,Lambda
From: https://www.cnblogs.com/weiduaini/p/17184488.html

相关文章

  • 函数式编程:Lambda 表达式
    函数式编程:Lambda表达式每博一文案曾经读过的依然令我感动的句子,生活总是不如意,但往往是在无数痛苦中,但往往是在无数痛苦中,在重重矛盾和艰难中才能成熟起来,坚强起来,爱......
  • 正则表达式(重点)
    正则表达式是一种对字符串操作的逻辑共识,就是用事先定义好的字符以及这些字符的特定组合组成一个”规则字符串“,这个“规则字符串”用来对字符串进行过滤,简单来说就是一种......
  • php 正则表达式匹配(输出是否匹配以及匹配值) preg_match
    preg_match—执行一个正则表达式匹配preg_match($pattern,$subject,$matches)搜索subject与pattern给定的正则表达式的一个匹配.参数:pattern:要搜索的模式,字符......
  • 学会了Java 8 Lambda表达式,简单而实用
    OneAPM摘要:此篇文章主要介绍Java8Lambda表达式产生的背景和用法,以及Lambda表达式与匿名类的不同等。本文系OneAPM工程师编译整理。Java是一流的面向对象语言,除了部分......
  • 滚蛋吧,正则表达式!
    大家好,我是良许。不知道大家有没有被正则表达式支配过的恐惧?看着一行火星文一样的表达式,虽然每一个字符都认识,但放在一起直接就让人蒙圈了~你是不是也有这样的操作,比如你......
  • go的表达式调用编译器不会进行自动转换 未完成
    packagemainimport( "fmt")typeTstruct{ aint}func(tT)Get()int{ returnt.a}func(t*T)Set(iint){ t.a=i}//表达式`T.Get`和`(*T).Set......
  • 5.JavaScript提供的正则表达式API、可以使用正则表达式解决常见问题(邮箱校验、URL解析
    JavaScript提供的正则表达式API、可以使用正则表达式解决常见问题(邮箱校验、URL解析、去重等)js正则常用API1.五个常用方法①testreg.test(str);//返回是否包含正则......
  • JavaScript 正则表达式2
    <!DOCTYPEhtml><html> <head> <metacharset="UTF-8"> <title></title> <scripttype="text/javascript"> /* *创建一个正则表达式检查一个字符串中......
  • 实验1 C语言开发环境使用和类型,运算符,表达式
    //打印一个字符小人#include<stdio.h>intmain(){ printf("O\n"); printf("<H>\n"); printf("II\n");printf("O\n");printf("<H>\n");printf("II\n"......
  • #yyds干货盘点#nginx正则表达式
    nginx正则匹配说明:细则:前缀匹配优先其中,最长匹配优先而后,按配置顺序匹配正则,正则第一个匹配到后终止无正则匹配,则用前面记住的前缀"="精确匹配,匹配后终止"~"区分大小写匹......