![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JDK8新增特性
pad长世界第一
这个作者很懒,什么都没留下…
展开
-
Optional简化空值判断,减少代码中的if-else代码块
为了防止空指针异常的出现,Java8中引入了一个新类Optional,对于它之前我们已经进行了简单的实现。其本质就是通过Optional类对值进行封装, 当有值的时候,会把该值封装到Optional类中。如果没有值的话,则会在该类封装一个Empty创建Optional对象//empty()会直接返回一个空的Optional实例,内部不会存在任何值。Optional<Student> studentOptional = Optional.empty();//of()会返回一个存在值的Op原创 2020-11-26 01:44:42 · 1897 阅读 · 0 评论 -
CompletableFuture异步编程
在CompletableFuture中提供了四个静态方法用于创建异步任务runAsync(Runnable runnable)runAsync(Runnable runnable,Executor executor)supplyAsync(Supplier<U> supplier)supplyAsync(Supplier<U> supplier,Executor executor)在该方法内部会创建异步任务,并把任务放入线程池中。并且runAsync()是没有返回值的。原创 2020-11-26 01:20:02 · 212 阅读 · 0 评论 -
JDK8以上提高开发效率有哪些(其三——stream流详解)
此处以操作学生集合为例,查询年龄小于20岁的学生,并且根据年龄进行排序,得到学生姓名,生成新集合public class Demo1 {public static void main(String[] args) {//java7 查询年龄小于20岁的学生,并且根据年龄进行排序,得到学生姓名,生成新集合List<Student> studentList = new ArrayList<>();studentList.add(new Student(1,"张三","M",19原创 2020-11-22 18:32:31 · 275 阅读 · 0 评论 -
JDK8以上提高开发效率有哪些(其二——Lambda表达式详解(二))
JDK8以上提高开发效率有哪些(其二——Lambda表达式详解(二))在Java8中为了让现在有的函数能够更加友好的使用Lambda表达式,因此引入了函数式接口这个概念。其是一个仅有一个抽象方法的普通接口。如果声明多个抽象方法则会报错。但是默认方法和静态方法在此接口中可以定义多个。要想自定义一个函数式接口的话,需要在接口上添加 @FunctionalInterface 。@FunctionalInterfacepublic interface MyFunctionalInterface {vo原创 2020-11-22 16:16:46 · 136 阅读 · 0 评论 -
JDK8以上提高开发效率有哪些(其二——Lambda表达式详解(一))
JDK8以上提高开发效率有哪些(其二——Lambda表达式详解)先定义好一个学生类,在下面都会以此为例:当我们没用使用lambda表达式之前:public class Student {private int id;private String name;private String sex;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName()原创 2020-11-22 15:36:29 · 142 阅读 · 0 评论 -
JDK8以上提高开发效率有哪些(其一——接口的默认方法和静态方法)
接口的默认方法和静态方法public interface MyDSService {//抽象方法String abstractMethod();}public class MyDSServiceImpl implements MyDSService {public String abstractMethod() {return "execute abstract method";}}public interface MyDSService {//抽象方法String abstra原创 2020-11-22 14:48:30 · 210 阅读 · 0 评论