Fundamentals

Default Methods

Collections

Idioms and Techniques

Design Rationale

Advanced Questions

Are lambda expressions objects?

Yes, with a qualification: they are instances of object subtypes, but do not necessarily possess a unique identity. A lambda expression is an instance of a functional interface, which is itself a subtype of Object. To see this, consider the legal assignments:

Runnable r = () -> {}; // creates a lambda expression and assigns […]