1.4-Software-Development-Principles

Week 2 - Lambda expressies en streams

Samenvatting

Java 8 in Action - Lambdas, Streams, and functional-style programming

Java 8 biedt nieuwe syntax die waarmee standaard manipulaties van lijsten op een veel kortere manier kunnen worden uitgedrukt. Daarvoor moeten we wel wennen aan een nieuwe notatie wijze, maar het maakt het doel van de code veel duidelijker:

inventory.sort(comparing(Apple::getWeight));

Zonder precies te weten hoe dit werkt zou je er waarschijnlijk op gokken dat de inhoud van deze lijst nu gesorteerd is op basis van het gewicht van de appels die er in zitten. (En daar zou jij gelijk in hebben.)

Daarnaast maken lambda expressies het mogelijk om code te schrijven die meer lijkt op de manier van denken zoals bij (SQL) queries. Veel lijst bewerkingen hebben overeenstemmingen met die operaties. Waarom zou je dan nog je eigen code schrijven in plaats van een standaard oplossing te zetten.

Ten slotte, door gebruik te maken van lambda expressies, kunnen we code testen op het genereren van de juiste exceptie. We willen die exceptie expres laten optreden, zodat we kunnen bevestigen dat de juist exceptie met de juiste inhoud wordt gegooid.

Theory

Het kan zijn dat de theorie niet altijd is vertaald naar het Nederlands, sorry.

Video

Passing behaviour

Bad weather tests