Chapter 1. Java 8: Why Should You Care?

Java has changed! The new version of Java, released in March 2014, called Java 8, introduced features that will change how you program on a day-to-day basis. But don’t worry—this brief guide will walk you through the essentials so you can get started.

This first chapter gives an overview of Java 8’s main additions. The next two chapters focus on Java 8’s main features: lambda expressions and streams.

There were two motivations that drove the changes in Java 8:

  • Better code readability

  • Simpler support for multicore

Code Readability

Java can be quite verbose, which results in reduced readability. In other words, it requires a lot of code to express a simple concept. Here’s an example: say you need to sort a list of invoices in decreasing order by amount. Prior to Java 8, you’d write code that looks like this:

Collections.sort(invoices, new Comparator<Invoice>() {
    public int compare(Invoice inv1, Invoice inv2) {
    return Double.compare(inv2.getAmount(), inv1.getAmount());
   }
});

In this kind of coding, you need to worry about a lot of small details in how to do the sorting. In other words, it’s difficult to express a simple solution to the problem statement. You need to create a Comparator object to define how to compare two invoices. To do that, you need to provide an implementation for the compare method. To read this code, you have to spend more time figuring out the implementation details instead of focusing on the actual problem statement. ...

Get Introducing Java 8 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.