Skip to Content
Java By Comparison
book

Java By Comparison

by Simon Harrer, Linus Dietz, Jörg Lenhard
March 2018
Intermediate to advanced
208 pages
4h 52m
English
Pragmatic Bookshelf
Content preview from Java By Comparison

Favor Lambdas Over Anonymous Classes

 class​ Calculator {
 
  Map<Double, Double> values = ​new​ HashMap<>();
 
  Double square(Double x) {
  Function<Double, Double> squareFunction =
»new​ Function<Double, Double>() {
  @Override
 public​ Double apply(Double value) {
 return​ value * value;
  }
  };
 return​ values.computeIfAbsent(x, squareFunction);
  }
 }

In Java 8, several existing classes (such as Map) got a boost with more useful methods. In the code above, you can see one of them named computeIfAbsent(). This method gets a value from the map using its key, and if the key isn’t already present in the map, it computes the value first. Pretty neat. We’ve written similar code many times by hand before.

But to use that new method, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Java 8 in Action

Java 8 in Action

Mario Fusco, Alan Mycroft, Raoul-Gabriel Urma
Java 8 Lambdas

Java 8 Lambdas

Richard Warburton
Think Java, 2nd Edition

Think Java, 2nd Edition

Allen B. Downey, Chris Mayfield
Modern Java in Action

Modern Java in Action

Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft

Publisher Resources

ISBN: 9781680505887Errata Page