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 Abstract Over Concrete Types

 class​ Inventory {
» LinkedList<Supply> supplies = ​new​ LinkedList();
 
»void​ stockUp(ArrayList<Supply> delivery) {
  supplies.addAll(delivery);
  }
 
» LinkedList<Supply> getContaminatedSupplies() {
  LinkedList<Supply> contaminatedSupplies = ​new​ LinkedList<>();
 for​ (Supply supply : supplies) {
 if​ (supply.isContaminated()) {
  contaminatedSupplies.add(supply);
  }
  }
 return​ contaminatedSupplies;
  }
 }

Interfaces and classes often form large type hierarchies—just look at the Java API. If you use more abstract types for variables, your code will be more flexible.

Above, you can see a part of the Inventory system. The method getContaminatedSupplies() loops through a LinkedList of Supply objects, ...

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