美文网首页
Java各版本新特性总结

Java各版本新特性总结

作者: 木木点 | 来源:发表于2020-06-12 01:06 被阅读0次

Java 8 新特性

  1. Lambda 表达式 − Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。

  2. 方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。

  3. 默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。

  4. 新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。

  5. Stream API −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。

  6. Date Time API − 加强对日期与时间的处理。

  7. Optional 类 − Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。

  8. Nashorn, JavaScript 引擎 − Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。

Lambda 表达式

Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。

Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。

使用 Lambda 表达式可以使代码变的更加简洁紧凑。

package Test;

public class Java8Tester {
    public static void main(String args[]) {
        Java8Tester tester = new Java8Tester();

        // 类型声明
        MathOperation addition = (int a, int b) -> a + b;

        // 不用类型声明
        MathOperation subtraction = (a, b) -> a - b;

        // 大括号中的返回语句
        MathOperation multiplication = (int a, int b) -> {
            return a * b;
        };

        // 没有大括号及返回语句
        MathOperation division = (int a, int b) -> a / b;

        System.out.println("10 + 5 = " + tester.operate(10, 5, addition));
        System.out.println("10 - 5 = " + tester.operate(10, 5, subtraction));
        System.out.println("10 x 5 = " + tester.operate(10, 5, multiplication));
        System.out.println("10 / 5 = " + tester.operate(10, 5, division));

        // 不用括号
        GreetingService greetService1 = message ->
                System.out.println("Hello " + message);

        // 用括号
        GreetingService greetService2 = (message) ->
                System.out.println("Hello " + message);

        greetService1.sayMessage("World");
        greetService2.sayMessage("You");
    }

    interface MathOperation {
        int operation(int a, int b);
    }

    interface GreetingService {
        void sayMessage(String message);
    }

    private int operate(int a, int b, MathOperation mathOperation) {
        return mathOperation.operation(a, b);
    }
}

输出结果

10 + 5 = 15
10 - 5 = 5
10 x 5 = 50
10 / 5 = 2
Hello Runoob
Hello Google

-----------------待----------------

相关文章

  • Java各版本新特性总结

    Java 8 新特性 Lambda 表达式 − Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法...

  • Java新特性快速笔记 - Java 10

    Java 10 是 Java 新的版本发布周期公布公布之后的第一个版本,相比于Java 9那么多新特性,这个版本就...

  • 各JDK版本的新特性

    JDK5的新特性: 自动拆装箱 Foreach 静态导入 可变参数 Var args 枚举 格式化输出 泛型 Pr...

  • java(java8新特性)

    java8新特性总结-1java8新特性总结-2体现在语言,类库,编译器,工具,运行时(JVM)五个方面 lamb...

  • Java11的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • Java15的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • Java12的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • JDK各个版本之间的内容变化

    Oracle 公布的未来 Java 版本发布和支持周期图 Java 11 新特性 Java 11 new feat...

  • JDK8新特性回顾

    Java8是Java5以来最具革命性的版本。为Java语言、类库、开发工具与JVM带来了大量新特性。以下是新特性的...

  • java个版本新特性

    1.0、JDK Version 1.0开发代号为Oak(橡树),于1996-01-23发行。1.1、JDK Ver...

网友评论

      本文标题:Java各版本新特性总结

      本文链接:https://www.haomeiwen.com/subject/lpuwtktx.html