• JDK1.8新特性


    1、Lambda                                                           

    Lambda的语法目前仅对于只有一个抽象方法的接口。

    在Lambda项目中,早期称为SAM类型(SAM = single abstract method 单一抽象方法)。在jdk1.8中,叫函数接口(functional interface)。比如Runnable,Callable,Comparator。

    lambda语法包含三部分:a、参数列表;b、箭头符号“->”;c、代码块。

    (arg1,arg2)->{Statement};

    只有一个参数可以写成:arg->{Statement};

    代码块类似方法体,return语句将控制权交还给匿名方法(即Lambda表达式)的调用者。如果代码块只有一行,可以省略return关键字和{}括号。

    1 import java.util.Comparator;
    2 public class TestLambda {
    3     public static void main(String[] args) {
    4         Runnable r = ()->{System.out.println("hello world");};
    5         Comparator<String> c = (String s1,String s2)->s2.length()-s1.length();
    6         r.run();
    7         System.out.println(c.compare("s1", "12323"));
    8     }
    9 }

    结果是:

    1 hello world
    2 3

    我们也可以自定义函数接口

    1 public class TestLambda {
    2     interface testlambdainterface{
    3         public void me(String str);
    4     }
    5     public static void main(String[] args) {
    6         testlambdainterface tli = (String s)->{System.out.println(s);};
    7         tli.me("hello world");
    8     }
    9 }

    2、Stream类                                                           

    提供了只保存算法的一个类,是一个高版本的Iterator。

    可以通过Collection.stream()方法产生,静态方法LongStream.of(1,2,3,4)和自定义。

  • 相关阅读:
    极大似然估计
    python模块的安装
    变异检测
    泰勒公式
    shell关于变量的操作
    Hadoop安装教程
    关于连接linux被拒
    靶向药
    层次聚类
    基因芯片原理
  • 原文地址:https://www.cnblogs.com/fankongkong/p/7410205.html
Copyright © 2020-2023  润新知