个人简介

Echo Blog


江湖无名 安心练剑
  • java8-06-lambda 复合使用
    复合Lambda 表达式的有用方法 Java8的好几个函数式接口都有为方便而设计的方法。具体而言,许多函数式接口,比如用于传递Lambda表达式的Comparator、Function和Predicate都提供了允许你进行复合的方法。 这是什么意思呢? 在实践中,这意味着你可以把多个简单的Lambda复合成为复杂的表达式。比如,你可以让两个谓词之间做一个or操作,组合成为了一个更大的谓...
    2019-02-27 07:48:49 | Java
  • java8-05-lambda 方法引用
    方法引用 方法引用可以看作仅仅调用特定方法方法的 lambda 的一种快捷的方式。 显示的指定方法的名称,可读性会更好。 代码示例 /** * 方法引用 */ @Test public void functionRefTest() { Apple one = new Apple(20); Apple two = new Apple(10); List<...
    2019-02-27 07:48:49 | Java
  • 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