JAVA 函数式接口作为方法的返回值
package com.runnable; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class ComparatorDemo { public static void main(String[] args) { ArrayList<String> s = new ArrayList<String>(); s.add("aa"); s.add("ccc"); s.add("bbb"); s.add("ee"); System.out.println(s+"排序前"); Collections.sort(s); System.out.println(s+"排序后"); Collections.sort(s,getComparator()); System.out.println(s); } public static Comparator<String> getComparator(){ // return new Comparator<String>() { // @Override // public int compare(String o1, String o2) { // return o1.length()-o2.length(); // } // }; return (s1,s2)->s2.length()-s1.length(); } }
如果方法的返回值是一个函数式接口,我们可以使用Lambdaba表达式作为结果返回