java jdk 1.8 新增特性->( lambda特性)
来源:互联网 发布:淘宝考试以下不是催情 编辑:程序博客网 时间:2024/06/05 14:24
java ->
目的:
lambda表示数学符号“λ”,计算机领域中λ代表“λ演算”,表达了计算机中最基本的概念:“调用”和“置换”。在很多动态语言和C#中都有相应的lambda语法,这类语法都为了简化代码,提高运行效率。
lambda用法
通过上文可以了解到,lambda语法是针对“回调接口”和“匿名内部类”作出的改进,所以lambda的语法目前仅对于部分接口,这些接口的特点是只含一个抽象方法,在lambda项目中,早期称为SAM类型(SAM = single abstract method 即单一抽象方法)。在最新的文档中(即这个版本),它们有了新名字,叫函数接口(functional interface),比如:
1 java.lang.Runnable
2 java.util.concurrent.Callable
3 java.security.PrivilegedAction
4 java.util.Comparator
5 java.io.FileFilter
6 java.nio.file.PathMatcher
7 java.lang.reflect.InvocationHandler
8 java.beans.PropertyChangeListener
9 java.awt.event.ActionListener
10 javax.swing.event.ChangeListener
lambda的语法包括三部分
1、参数列表
2、箭头符号"->"
3、代码块。
其中代码块很像一个方法体,return语句将控制权交还给匿名方法(anonymous method,即lambda表达式)的调用者;break和continue不能出现在函数体的顶部,不过可以出现在内部的循环里;如果代码块得出最终结果,那么每一个控制路径(control path) 必须都有返回或抛出异常。
如果代码块只有简单一行,可以省略return关键字和“{}”符号(以下所写的例子都是基于JDK 1.8 lambda预览版),比如:
- public class LambdaTest {
- interface lambdaInterface {
- public void me(String str);
- }
- public static void main(String... args) {
- lambdaInterface li = (String s)->{System.out.println(s);};
- li.me("hello world!");
- }
0 0
- java jdk 1.8 新增特性->( lambda特性)
- Java 8 新增特性Lambda表达式
- java8新增特性(一)---Lambda表达式
- JDK 1.8新特性Lambda入门
- JDK 1.8 新特性 ( 一) ---- Lambda表达式
- JAVA 1.8 新特性学习(2) lambda表达式
- Java 1.8 新特性之(Lambda表达式)
- JDK 1.5中新增的语言特性
- Java 8新特性: lambda
- JAVA 8 新特性 ---lambda
- JAVA 新特性:lambda表达式
- Java新特性 lambda表达式
- Java 8 新特性 Lambda
- Java 高级特性: Lambda 表达式
- Java EE平台新增特性
- Java SE 8.0 新增特性
- Lambda特性
- Java(02)-JDK 5.0 新特性
- Java线程锁(二)——循环打印ABC
- ovs vswitchd的启动分析
- [POJ3612]telephone wire
- 用“射同基反”原则判断电路是否起振
- 素数筛选法
- java jdk 1.8 新增特性->( lambda特性)
- IT搬砖者的内心独白
- 字符串的旋转
- JAVA 学习之集合
- 数组字符串类笔试题
- 用户级线程和内核级线程的区别
- Xml中SelectSingleNode方法中的xpath用法
- 练习题目-炮弹防御
- HashMap与ConcurrentHashMap的区别