上午看了下接口默认方法的写法,现在接着看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,还有什么地方可以去应用。以后碰到了再逐渐更新,或者请各位大佬们指点指点。
新闻热点
疑难解答