Java新特性

小灰灰 2024-04-17 05:44 147阅读 0赞

Java 8 新特性

Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。

1. Java8-Lambda
2. Java8-Stream
3. Java8-默认方法
4. Java8-函数式接口
5. Java8-时间日期API
6. Java8-Optional


Java8 新增了非常多的特性,我们主要讨论以下几个:

  • Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。
  • 方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
  • 默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。
  • 新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。
  • Stream API −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。
  • Date Time API − 加强对日期与时间的处理。
  • Optional 类 − Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。
  • Nashorn, JavaScript 引擎 − Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。
    更多的新特性可以参阅官网:What’s New in JDK 8
    Demo

    import java.util.Collections;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Comparator;

    public class Java8Tester {
    public static void main(String args[]){

    1. List<String> names1 = new ArrayList<String>();
    2. names1.add("Google ");
    3. names1.add("Runoob ");
    4. names1.add("Taobao ");
    5. names1.add("Baidu ");
    6. names1.add("Sina ");
    7. List<String> names2 = new ArrayList<String>();
    8. names2.add("Google ");
    9. names2.add("Runoob ");
    10. names2.add("Taobao ");
    11. names2.add("Baidu ");
    12. names2.add("Sina ");
    13. Java8Tester tester = new Java8Tester();
    14. System.out.println("使用 Java 7 语法: ");
    15. tester.sortUsingJava7(names1);
    16. System.out.println(names1);
    17. System.out.println("使用 Java 8 语法: ");
    18. tester.sortUsingJava8(names2);
    19. System.out.println(names2);

    }

    // 使用 java 7 排序
    private void sortUsingJava7(List names){

    1. Collections.sort(names, new Comparator<String>() {
    2. @Override
    3. public int compare(String s1, String s2) {
    4. return s1.compareTo(s2);
    5. }
    6. });

    }

    // 使用 java 8 排序
    private void sortUsingJava8(List names){

    1. Collections.sort(names, (s1, s2) -> s1.compareTo(s2));

    }
    }

执行结果

  1. $ javac Java8Tester.java
  2. $ java Java8Tester
  3. 使用 Java 7 语法:
  4. [Baidu , Google , Runoob , Sina , Taobao ]
  5. 使用 Java 8 语法:
  6. [Baidu , Google , Runoob , Sina , Taobao ]

发表评论

表情:
评论列表 (有 0 条评论,147人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java特性

    Java 8 新特性 Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Ja...