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;
    }
    }
    }
  • 相关阅读:
    怎样应对突发性的开发需求
    ASP.NET过滤HTML标签只保留换行与空格的方法
    sqlserver 各种判断是否存在(表名、函数、存储过程等)
    Timing advance of GSM(时间提前量)
    对.NET中Hashtable和ArryList的理解
    GPS原始经纬度转百度经纬度
    baidu经纬度坐标与google经纬度坐标都转换
    .NET资料之-根据两点经纬度计算直线距离
    .net处理JSON简明教程
    在asp.net中要不使用其他插件的情况下只能使用定时器来检查, 并执行任务.
  • 原文地址:https://www.cnblogs.com/wenbiquan/p/11069669.html
Copyright © 2011-2022 走看看