在java中有时候需要一些匿名对象的使用。可能有些小伙伴拿还不会创造,其实我们在学习一些方法时都或多或少的接触过。本篇所要讲到的创造匿名对象总结了两种方法,分别是静态工具方法和Lambda表达式,我们会在下文中为大家进行分析和实例代码展示,一起来看看吧。
1、静态工具方法
Collections.sort接受一个list,和一个Comparator接口作为输入参数,Comparator的实现类可以对输入的list中的元素进行比较。通常情况下,你可以直接用创建匿名Comparator对象,并把它作为参数传递给sort方法。
List<String> names = Arrays.asList("peter", "anna", "mike", "xenia"); Collections.sort(names, new Comparator<String>() { @Override public int compare(String a, String b) { return b.compareTo(a); } });
2、Lambda表达式
Collections.sort(names, (String a, String b) -> { return b.compareTo(a); });
可以看到,这段代码就比之前的更加简短和易读。但是,它还可以更加简短:
Collections.sort(names, (String a, String b) -> b.compareTo(a));
只要一行代码,包含了方法体。你甚至可以连大括号对{}和return关键字都省略不要。不过这还不是最短的写法:
Collections.sort(names, (a, b) -> b.compareTo(a));
Java编译器能够自动识别参数的类型,所以可以省略掉类型不写。
以上就是java创造匿名对象的两种方法,大家可以就这两种不同的方法分别进行尝试,然后选择一种适合自己的方法加强记忆。更多Java学习指路:Java基础