首页 > 其他分享 >Lambda演变

Lambda演变

时间:2023-12-12 10:01:09浏览次数:29  
标签:f1 演变 i1 i2 int toString Lambda

Lambda怎么来的?

匿名委托:

委托变量不仅可以指向普通方法,还可以指向匿名方法(没有方法名称,只用delegate代替)如:
Func<int,int,string> f1=delegate(int i1,int i2){return (i1+i2).toString();};
string s=f1(1,2);

Lambda的演变:

1、使用Lambda替代匿名方法,如:
Func<int,int,string> f1=(int i1,int i2)=>{return (i1+i2).toString();};
2、 简写(省去参数类型,编译器能自动推断):
Func<int,int,string> f1=( i1, i2)=>{return (i1+i2).toString();};
3、如果方法只有一行,”{}”可以去掉:
Action<int,int> f1=(i1,i2)=>console.writeLine(i1+i2);
4、如果方法只有一行,且是有返回值的方法,“{}”可以去掉,且“return”也要去掉:
Func<int,int,string> f1=( i1, i2)=> (i1+i2).toString();
5、如果只用一个参数,参数的“()”可以省略:
Action<string> f1=s=>console.writeLine(s);
Func<int,bool>f2=i=>i>5;

 

标签:f1,演变,i1,i2,int,toString,Lambda
From: https://www.cnblogs.com/yxh33/p/17896129.html

相关文章

  • 写几个有用的lambda
    List<String>list=Arrays.asList("app","ban","ora");//循环输出for(Strings:list){System.out.println(s);}list.forEach(System.out::println);//排序......
  • Lambda表达式
    目录1、Lambda表达式概述2、Lambda表达式语法3、具体写法4、Lambda表达式注意事项5、Java中四大函数式接口6、方法引用7、构造引用1、Lambda表达式概述Lambda表达式是JDK1.8之后的一种语法,是一个匿名函数,是对匿名函数的简写形式,我们可以把Lambda表达式理解为是一段可以传递的代......
  • Optional常用方法实例, 源码挺简单的,重要的是option 与 stream 以及lambda 的连贯使用
    Optionalstaticmethods: Optional.ofNullable();Optional.empty();Optional.of(); ​ empty():publicstatic<T>Optional<T>empty(){@SuppressWarnings("unchecked")Optional<T>t=(Optional<......
  • Java登陆第十七天——Java8之Lambda表达式
    在实例化Thread类时,需要传入一个Runnable接口的实现类。publicThread(Runnabletarget)实际开发中,通常是使用匿名内部类实现Runnable接口。栗子:publicclassTest27{publicstaticvoidmain(String[]args){Threadt=newThread(newRunnable(){//匿名......
  • java 8 利用lambda 获取 记录类(get/set) field 上面 注解
    packagetianrun.ziguan.api.center.alert.util;importcom.baomidou.mybatisplus.annotation.TableField;importjava.io.*;importjava.lang.annotation.Annotation;importjava.lang.invoke.SerializedLambda;importjava.lang.reflect.Field;importjava.lang.ref......
  • Java——lambda表达式
    一、概述简化代码开发,可以实现函数式的编程。利用函数式的编程可以避免面向对象过程中一些的繁琐的问题lambda是一把双刃剑二、使用场景1.能够使用lambda表达式的一个重要依据是必须有相应的函数接口。所谓函数接口,是指内部有且仅有一个抽象方法的接口。2.la......
  • python中lambda函数如何理解
    一:问题python中lambda函数如何理解? 二:回答如下所示:defadd(a,b):returna+bdata=lambdaa,b:a+bif__name__=="__main__": print(add(3,4)) print(data(3,4))>>>运行结果如下:>>>7>>>7这里lambda函数,可以这样理解:lambda替代了上面的d......
  • C# Lambda 分组排序问题(先对数据进行时间倒序排列,然后再按照某字符分组,在每个分组内再
    问题:先对数据进行时间倒序排列,然后再按照某字符分组,在每个分组内再按照某数字或字符正序排列解答:vardata=list.OrderByDescending(i=>i.Date).ToList();vargData=data.GroupBy(g=>g.code).Select(l=>l.OrderBy(i=>i.Step));varinvData=newList<IndexVM>();fore......
  • JDK版本特性演变
    JDK版本特性演变官网JEP指数Jdk1~8JDK1.0(1996年1月):初版发布。包含了基本的Java开发工具,如编译器(javac)和解释器(java)。JDK1.1(1997年2月):引入了内部类(InnerClasses)。支持JavaBeans组件模型。增加了AWT事件处理模型。引入了RMI(远程方法调用)和JDBC(Java数据库连接......
  • 委托演变lambda
    委托可以演变为匿名方法,然后由匿名方法演变成为Lambda。staticvoidMM(string[]args){//无参数无返回值的匿名方法Actiona1=delegate(){Console.WriteLine("这是一个匿名方法");};a1();//有参数无返回值的匿名方法Action<s......