首页 > 编程 > Java > 正文

找回过去之java8旧特性的Lambda表达式

2019-11-08 01:14:41
字体:
来源:转载
供稿:网友

上午看了下接口默认方法的写法,现在接着看java8新特性的Lamdba表达式吧。

看lambda表达式,发现可以省了不少的事情,以前需要多行代码才能搞定的简单功能,现在就一行收工,很方便。

以下是自己写的demo:

public class Lambda {    PRivate static List<String> list = new ArrayList<String>();    public Lambda() {        list.add("cat");        list.add("dog");        list.add("banana");        list.add("apple");    }    private List<String> oldSort() {        Collections.sort(list, new Comparator<String>() {            @Override            public int compare(String a, String b) {                return b.compareTo(a);            }        });        return list;    }    private List<String> lambdaSort() {        // 最基础的,有大括号        Collections.sort(list, (String a, String b) -> {            return a.compareTo(b);        });        // 可短一些,去掉大括号和return        Collections.sort(list, (String a, String b) -> a.compareTo(b));        // 最简形式, 连形参的类型都去掉了        Collections.sort(list, (a, b) -> a.compareTo(b));        return list;    }    public static void main(String[] args) {        Lambda lambda = new Lambda();        lambda.oldSort().forEach(e -> System.out.println("old: " + e));        lambda.lambdaSort().forEach(e -> {            System.out.println("lambda: " + e);        });    }}看着这份和新手一般的代码,我在思考,lambda表达式,在实际项目中该怎么去使用,除了for,sort,还有什么地方可以去应用。以后碰到了再逐渐更新,或者请各位大佬们指点指点。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表