Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Optional Parameters in Java 8 Lambda Expressions

DZone's Guide to

Optional Parameters in Java 8 Lambda Expressions

· Java Zone ·
Free Resource

Akka from A to Z, An Architects Guide starting off with Actors and Akka Streams, then on to clustering, sharding, event sourcing & CQRS, and more. 

Yeah, they don't really exist, but we can use polymorphism, method overloading and default methods instead to make it a bit more convenient to use our APIs.

As an example, here's an event bus implementation where I can register event handlers with an optional header parameter.

  Bus bus = new Bus();
  bus.register(event -> System.out.println("I gots an event"));
  bus.register((event,header) -> System.out.println("I gots an event w/ header"));

Here are the dirty details on how you can do this (and - when dispatching - events, use default methods to avoid type coercion.

Akka from A to Z, An Architects Guide starting off with Actors and Akka Streams, then on to clustering, sharding, event sourcing & CQRS, and more. 

Topics:
java8 ,lambda

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}