Package Com.atguigu.java8;import java.util.arraylist;import java.util.arrays;import java.util.Comparator; Import Java.util.list;import java.util.treeset;import org.junit.Test; Public classTestLambda1 {//the original anonymous inner class@Test Public voidtest1 () {Comparator<String> com =NewComparator<string>() {@Override Public intCompare (String O1, String O2) {returnInteger.compare (O1.length (), o2.length ()); } }; TreeSet<String> ts =NewTreeset<>(COM); TreeSet<String> TS2 =NewTreeset<> (NewComparator<string>() {@Override Public intCompare (String O1, String O2) {returnInteger.compare (O1.length (), o2.length ()); } }); } //now the LAMBDA expression@Test Public voidtest2 () {Comparator<String> com = (x, y)Integer.compare (X.length (), y.length ()); TreeSet<String> ts =NewTreeset<>(COM); }}
Java 8 new features anonymous internal class usage