在java中有时候需要一些匿名对象的使用。可能有些小伙伴拿还不会创造,其实我们在学习一些方法时都或多或少的接触过。本篇所要讲到的创造匿名对象总结了两种方法,分别是静态工具方法和Lambda表达式,我们会在下文中为大家进行分析和实例代码展示,一起来看看吧。
1、静态工具方法
Collections.sort接受一个list,和一个Comparator接口作为输入参数,Comparator的实现类可以对输入的list中的元素进行比较。通常情况下,你可以直接用创建匿名Comparator对象,并把它作为参数传递给sort方法。
List<String>names=Arrays.asList("peter","anna","mike","xenia"); Collections.sort(names,newComparator<String>(){ @Override publicintcompare(Stringa,Stringb){ returnb.compareTo(a); } });
2、Lambda表达式
Collections.sort(names,(Stringa,Stringb)->{ returnb.compareTo(a); });
可以看到,这段代码就比之前的更加简短和易读。但是,它还可以更加简短:
Collections.sort(names,(Stringa,Stringb)->b.compareTo(a));
只要一行代码,包含了方法体。你甚至可以连大括号对{}和return关键字都省略不要。不过这还不是最短的写法:
Collections.sort(names,(a,b)->b.compareTo(a));
Java编译器能够自动识别参数的类型,所以可以省略掉类型不写。
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容