zoukankan      html  css  js  c++  java
  • 【学亮IT手记】Java 8新特性实例介绍

    java8,也称为jdk1.8,于2014.03.18日发布,它支持函数式编程,新的js引擎,新的日期API,新的Stream Api等。

    我们主要讨论以下几个新特性:

    ①Lambda表达式。

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

    ②方法引用。

    方法引用提供了非常有用的语法,可以直接引用已有的Java类或对象的方法或构造器。它与Lambda表达式联合使用,方法引用可以使语言的构造更加紧凑简洁,减少冗余代码。

    ③默认方法。

    就是一个在接口里面有了实现的方法。

    ④新工具。

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

    ⑤Date Time API

    加强对日期与时间的处理。

    ⑥Optional类

    是java8类库的一部分,主要用来解决空指针异常问题。

    ⑦Nashorn JavaScript引擎

    允许我们在jvm上运行特定的js应用。

    Java8的编程风格

    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[]){
       
          List<String> names1 = new ArrayList<String>();
          names1.add("Google ");
          names1.add("Runoob ");
          names1.add("Taobao ");
          names1.add("Baidu ");
          names1.add("Sina ");
            
          List<String> names2 = new ArrayList<String>();
          names2.add("Google ");
          names2.add("Runoob ");
          names2.add("Taobao ");
          names2.add("Baidu ");
          names2.add("Sina ");
            
          Java8Tester tester = new Java8Tester();
    	  
          System.out.println("使用 Java 7 语法: ");
          tester.sortUsingJava7(names1);
          System.out.println(names1);
    	  
          System.out.println("使用 Java 8 语法: ");   
          tester.sortUsingJava8(names2);
          System.out.println(names2);
       }
       
       // 使用 java 7 排序
       private void sortUsingJava7(List<String> names){   
          Collections.sort(names, new Comparator<String>() {
             @Override
             public int compare(String s1, String s2) {
                return s1.compareTo(s2);
             }
          });
       }
       
       // 使用 java 8 排序
       private void sortUsingJava8(List<String> names){
          Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
       }
    }

     

  • 相关阅读:
    Oracle NULL值
    关于微服务架构的权限控制初步设计
    .Net Core优化策略
    Winform如何不阻塞主进程UI的同时操作其他控件的输出
    数据结构与算法绪论学习 Day5_队列
    数据结构与算法绪论学习 Day4_栈
    数据结构与算法绪论学习 Day3_线性表
    数据结构与算法绪论学习 Day2 _算法效率的度量方法
    数据结构与算法绪论学习 Day1_基础概念
    数据结构与算法绪论学习 Day2 _线性表
  • 原文地址:https://www.cnblogs.com/niwotaxuexiba/p/9459076.html
Copyright © 2011-2022 走看看