java8-04-lambda 类型推断
类型检查
Lambda 的类型是从 Lambda 的上下文推断出来的。
上下文中 Lambda 表达式需要的类型称为 目标类型。
图示如下
同样的 lambda,不同的函数接口
/**
* 相同的 lambda 表达式,但是不同的函数接口
* 只要他们的抽象方法签名可以兼容。
*/
@Test
public void sameLambdaDiffFunctional() {
...
2019-02-27 07:48:49 |
Java
java8-03-lambda 内置函数
Predicate
Predicate 定义了一个 test() 方法,接受泛型 T 的对象,并且返回一个 boolean 值。
定义
/**
* 过滤器: 返回满足条件的列表
* @param list
* @param predicate
* @param <T>
* @return
*/
pr...
2019-02-27 07:48:49 |
Java
java8-02-lambda 入门实战
环绕执行模式
JDK1.7 引入的 TWR 语法,
令读取文件后的资源释放变得更加简洁。
public static String processFile() throws IOException {
try (BufferedReader bufferedReader =
new BufferedReader(new FileReader("1...
2019-02-27 07:48:49 |
Java
java8-01-快速开始
Lambda
Lambda 是 JDK8 中引入的一个很重要的内容,思想值得深入学习。
一、anonymous function
以下为 wiki 的内容
In computer programming, an anonymous function (function literal, lambda abstraction) is a function definition that...
2019-02-27 07:48:49 |
Java
java8-00-新特性概览
JDK 为什么在不断变化?
要么改变,要么衰亡。
Java8 为开发者提供更多的工具和概念。
更快、更简洁、更易于维护的处理编程问题。
主要变化
方法作为一等公民
Scala、Groovy 等语言已经实践证明。
让方法作为一等值,可以扩充程序员的工具库,让编程变得简单。
lambda作为一等公民
Java8 还体现了更广义的将函数作为值得思想,将 lambd...
2019-02-27 07:48:49 |
Java
JDK19 新特性详解,2022-09-20发布GA版本
jdk19
JDK19于2022-09-20发布GA版本,本文将会详细介绍JDK19新特性的使用。
JDK 19:https://openjdk.org/projects/jdk/19
新特性列表
新特性列表如下:
JPE-405:Record模式(预览功能)
JPE-422:JDK移植到Linux/RISC-V
JPE-424:外部函数和内存API(预览功能)
JPE-425:虚...
2019-02-27 07:48:49 |
Java
JDK18 新特性详解,2022-03-22 正式发布
JDK18
Java 开发工具包 (JDK) 18 将于 2022 年 3 月 22 日发布。新版本的标准 Java 将有九个新特性,该特性集已于 12 月 9 日冻结,进入Rampdown第一阶段 。
值得注意的是:JDK 17 是一个长期支持 (LTS) 版本,将获得 Oracle 至少八年的支持,但 JDK 18 将是一个短期功能版本,只支持六个月。
可以在java.net 上找...
2019-02-27 07:48:49 |
Java
JDK17 新特性详解,2021-09-14 正式发布
switch 新增模式(预览版)
使用 switch 表达式和语句的模式匹配以及对模式语言的扩展来增强 Java 编程语言。
将模式匹配扩展到 switch 允许针对多个模式测试表达式,每个模式都有特定的操作,以便可以简洁安全地表达复杂的面向数据的查询。
基于 JDK16 instanceof 模式匹配(最终版)优化升级 switch 使用方法,先回忆下JDK16 模式匹配(最终版)
...
2019-02-27 07:48:49 |
Java