标签:省略 自定义 int 接口 参数 返回值 public Lambda
Lambda表达式有参数有返回值的练习(自定义接口)
给定一个计算器calculator接口,内含抽象方法calc可以将两个int数字相加得到和值
使用Lambda的标准格式调用invokeCalc方法,完成120和130的相加计算
public interface Calculator { //定义一个计算两个int整数和的方法并返回结果 public abstract int calc(int a,int b); }
public class CalculatorTest { public static void main(String[] args) { invoke(120,130,(int a, int b)->{ return a + b; }); } public static void invoke(int a, int b, Calculator c){ int sum = c.calc(a, b); System.out.println(sum); } }
省略格式&Lambda使用前提
lambda表达式: 是可推导,可以省略
根据上下文推导出来的内容,都可以省略书写
可以省略的内容:
1.(参数列表):括号中的参数列表的数据类型,可以省略不写
2.(参数列表): 括号中的参数如果只有一个,那么类型和()都可以进行省略
3.{一些代码}:如果{}中的代码只有一行,无论是否有返回值,都可以省略({},return,分号)
注意:要省略{},return,分号必须一起省略
Lambda使用前提
lambda的语法非常简洁,完全没有面向对象复杂的束缚。使用时有几个问题需要特别注意:
1.使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法。
无论是JDK内置的Runnable、Comparator接口还是自定义的接口,只有当接口中的抽象方法存在且唯一时,
才可以使用Lambda。
2.使用Lambda必须具有上下文推断。
也就是方法的参数或局部变量类型必须为Lambda对应的接口类型,才能使用Lambda作为该接口的实例。
有且仅有一个抽象方法的接口,称为“函数式接口”。
优化的:
搜索
复制
标签:省略,自定义,int,接口,参数,返回值,public,Lambda 来源: https://www.cnblogs.com/pengtianyang/p/16465929.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。