zoukankan      html  css  js  c++  java
  • jdk1.8新特性(Lambda表达式)

    只具有一个方法的普通接口可以被转换为Lambda表达式。

    语法:{参数1,参数2...}->{...}

    (1)没有参数时使用Lambda表达式    ()->{...}

    (2)带参数时使用Lambda表达式       (int a)->{...}

    (3)代码中只一句代码使用Lambda表达式   ()->System.out.println(a);

    (4)代码中有多句代码时使用Lambda表达式  (int a,int b)->{System.out.println(a);System.out.println(a*b);}

    (5)有返回值的代码块      (int a,int b)->{System.out.println(a);System.out.println(a*b); return a;}

    (6)参数中使用final关键字    (final String a)->System.out.println(a);

    demo如下:

    public class tet {
    public static void main(String[] args){
    //System.out.println(4&10);//相当于10%(4+1)

    //代码中只一句代码使用Lambda表达式
    /* IEat iEat3 = ()-> System.out.println("代码中只一句代码使用Lambda表达式");
    iEat3.eat();*/

    //没有参数时使用Lambda表达式
    /* IEat iEat3 = ()-> {System.out.println("没有参数时使用Lambda表达式 ");};
    iEat3.eat();*/

    //带参数时使用Lambda表达式
    /* IEat iEat3 = (int a)-> {System.out.println("带参数时使用Lambda表达式 "+a);};
    iEat3.eat(5);*/

    //代码中有多句代码时使用Lambda表达式
    /*IEat iEat3 = (int a)-> {System.out.println("代码中有多句代码时使用Lambda表达式"+a);System.out.println("代码中有多句代码时使用Lambda表达式"+a);};
    iEat3.eat(5);*/

    //有返回值的代码块
    /* IEat iEat3 = (int a)-> {System.out.println("有返回值的代码块"+a); return a;};
    iEat3.eat(5);*/

    //参数中使用final关键字
    /* IEat iEat3 = (final int a)-> {System.out.println("参数中使用final关键字"+a); return a;};
    iEat3.eat(5);*/

    Student[] students = {
    new Student("张三",15),
    new Student("张似",10),
    new Student("张无",18)

    };
    /*
         //此处涉及对象排序知识点
         Arrays.sort(students, new Comparator<Student>() {
    @Override
    public int compare(Student o1, Student o2) {
    return o1.getAge()-o2.getAge()
    }
    });*/
    Arrays.sort(students,(o1,o2)->o1.getAge()-o2.getAge());
    System.out.println(Arrays.toString(students));
    }

    interface IEat{
    public int eat(final int a);
    }

    class IEatImpl implements IEat{
    public int eat(final int a){
    System.out.println("eat bnana");
    //System.out.println("eat apple");
    return a;
    }
    }
    }
  • 相关阅读:
    Javascript 匿名函数与闭包
    Javascript 闭包的理解
    Javascript 函数及其执行环境和作用域
    JAVA generic array 泛型数组
    在Ubuntu 13.10 中安装配置 Hadoop 2.2.0
    Java 中文字符判断 中文标点符号判断
    当程序以Windows Services形式启动时当前路径不对
    .NET中Dictionary<TKey, TValue>浅析
    [趣文]单词间那无尽的等待
    DNS拾遗(二)
  • 原文地址:https://www.cnblogs.com/wenbiquan/p/11069669.html
Copyright © 2011-2022 走看看