您的位置:首页 > 编程语言 > Java开发

JDK 1.8 新特性 ( 一) ---- Lambda表达式

2017-07-22 17:22 399 查看
1、 Lambda(拉姆达)表达式

Lambda表达式的本质是一个语法糖(指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用),由语法糖推断并帮你转换额为常规的代码。由此你可以使用更少的代码来实现同样的功能

提升: Lambda表达式只适用于接口中只有一个抽象方法的匿名内部类

public class Main{
public static void main(String[] args) {
List<String> list = Arrays.asList("d", "c", "e", "a", "g", "m");
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return Collator.getInstance().compare(o1, o2);
}
});
System.out.println("normal = " + list);

// Lambda表达式1
Collections.sort(list, (String o1, String o2) -> {
return Collator.getInstance().compare(o1, o2);
});
System.out.println("Lambda1=" + list);

// Lambda表达式2  当接口函数体中只有一行代码的时候
Collections.sort(list, (String o1, String o2) -> Collator.getInstance().compare(o1, o2)));
System.out.println("Lambda2=" + list);

// Lambda表达式3 编译器会自动推算参数类型
Collections.sort(list, (o1, o2) -> Collator.getInstance().compare(o1, o2)));
System.out.println("Lambda3=" + list);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  lambda jdk