0%

  • 前缀和算法是一种用于高效计算数组前缀和的算法。前缀和是指从数组的起始位置到某一位置的所有元素的和
阅读全文 »

  • 我们在使用 Lambda 表达式时,如果方法体中只有一个方法的调用的话(包括构造方法),我们就可以用方法引用进一步简化代码。
  • 我们在使用 Lambda 表达式时不需要考虑什么时候用方法引用,用哪种方法引用,方法引用的格式是什么。我们只需要在写完 Lambda 表达式后,发现方法体只有一行代码,并且是方法调用时,使用快捷键尝试是否能够转换成方法引用即可。
阅读全文 »

  • 只有一个抽象方法的接口我们称之为函数式接口
    • JDK 的函数式接口都加上了 @Functionallnterface 注解进行标识。但是无论是否加上该注解,只要接口中只有一个抽象方法,都是函数式接口。
阅读全文 »

  • 我们在编写代码的时候出现最多的就是空指针异常。所以在很多情况下我们需要做各种非空的判断。例如:

    1
    2
    3
    4
    Author author = getAuthor();
    if(author != null){
    System.out.println(author.getName());
    }
    • 尤其是对象中的属性还是对象的情况下,这种判断会更多。过多的判断语句会让我们的代码显得臃肿不堪。

    所以在 JDK8 中引入了 Optional,养成使用 Optional 的习惯后你可以写出更优雅的代码来避免空指针异常。并且在很多函数式编程相关的 API 中也都用到了 Optional,如果不会使用 Optional 也会对函数式编程的学习造成影响。

阅读全文 »