java8特性
来源:互联网 发布:react js 阮一峰 编辑:程序博客网 时间:2024/05/18 09:37
个人总结:
lamdba表达式:
参考网上:
http://www.cnblogs.com/franson-2016/p/5593080.html
http://blog.csdn.net/ioriogami/article/details/12782141/
简单例子:
// 1. 不需要参数,返回值为 5
() -> 5
// 2. 接收一个参数(数字类型),返回其2倍的值
x -> 2 * x
// 3. 接受2个参数(数字),并返回他们的差值
(x, y) -> x – y
// 4. 接收2个int型整数,返回他们的和
(int x, int y) -> x + y
// 5. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void)
(String s) -> System.out.print(s)
补充:
@FunctionalInterface//加了这个注解接口里面只能有一个函数
public interface Runnable { void run(); }
public interface Callable<V> { V call() throws Exception; }
public interface ActionListener { void actionPerformed(ActionEvent e); }
public interface Comparator<T> { int compare(T o1, T o2); boolean equals(Object obj); }
注意最后这个Comparator接口。它里面声明了两个方法,貌似不符合函数接口的定义,但它的确是函数接口。这是因为equals方法是Object的,所有的接口都会声明Object的public方法——虽然大多是隐式的。所以,Comparator显式的声明了equals不影响它依然是个函数接口。
如果要在内部类访问外部对象的一个本地变量,那么这个变量必须声明为final才行。在Java8中,这种限制被去掉了,代之以一个新的概念,“effectively final”。它的意思是你可以声明为final,也可以不声明final但是按照final来用,也就是一次赋值永不改变
除了默认方法,Java8的接口也可以有静态方法的实现
- Java8 特性
- Java8特性
- java8 特性
- Java8特性
- java8特性
- JAVA8 特性
- java8特性
- java8 新特性
- java8新特性 ---译
- Java8新特性教程
- Java8新特性学习
- JAVA8新特性
- Java8新特性详解
- JAVA8的新特性
- java8 新特性
- java8新特性
- java8 新特性
- JAVA8新特性一览
- WIN--Anaconda, python, tensorflow, opencv版本对应关系
- 如何加快变成速度,eclipse中快捷键的用法
- 机器学习(聚类分析)
- CodeForces
- 怎样往阿里云服务器传文件
- java8特性
- 解决tomcat同时部署两个SpringBoot应用提示InstanceAlreadyExistsException
- Multi view Geometry in Compution Vision 学习笔记 第一章
- BB = BB[sorted_ind, :] IndexError: too many indices for array
- BZOJ4029 4029: [HEOI2015]定价 贪心
- python中,从mysql读取数据,并存入redis里面(2)
- go语言学习-for循环
- 安卓黑马教学(二)
- Ubuntu14配置nginx虚拟主机