Lambda

We have already used lambda expressions in Chapter 3, Optimizing the Sort - Making Code Professional, when we wrote the exception-throwing test. In that code, we set the comparator to a special value that was throwing RuntimeException at each invocation:

sort.setComparator((String a, String b) -> { 
        throw new RuntimeException(); 
    });

The argument type is Comparator; therefore, what we have to set there should be an instance of a class that implements the java.util.Comparator interface. That interface defines only one method that implementations have to definecompare. Thus, we can define it as a lambda expression. Without lambda, if we need an instance, we have to type a lot. We have to create a class, name it, declare the compare() ...

Get Java Projects - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.