This repository contains theory, examples, and practice problems covering certain Java features from Java 8 to Java 17.
- Understand why modern Java features exist
- Learn clean, idiomatic Java
- Move from imperative β declarative β type-safe Java
- Practice problems
- Students are encouraged to submit their own solutions via Pull Requests.
- Interfaces (default & static methods)
- Lambda Expressions
- Functional Interfaces
- Stream API
- Predicates
- Optional
- Switch Expressions
- Records
- Sealed Classes
- Pattern Matching for
instanceof - Text Blocks
The workshop includes problems for each topic, designed to test:
- Conceptual understanding
- Correct usage
- Clean coding practices