This repository contains simple implementations of the Java features that were introduced form version 9 to version 17. The purpose of the examples is to be as simple as possible. Any features that were introduced after Java 8 and are not codding related features are not covered here. With Java 17 being the LTS until September 2023 this repo is concluded, and another repo for Java 18 to Java 21 will be linked here soon.
- [Java 9] Create example for Java Modularity - the solution for this issue can be found here
- [Java 9] Try with resource Statement - the solution for this issue can be found here
- [Java 9] @SafeVarargs annotation - the solution for this issue can be found here
- [Java 9] Inner Class Diamond Operator - the solution for this issue can be found here
- [Java 9] Anonymous inner Classes - the solution for this issue can be found here(same as previous) here
- [Java 9] Underscore character not a legal name - there is no solution branch to this issue, since I did not wanted to push uncompilable code. However, you can have a quick read here .
- [Java 9] Private interface methods - the solution for this issue can be found here
- [Java 9] Optional API additions - the solution for this issue can be found here
- [Java 9] Immutable Collections - the solution for this issue can be found here
- [Java 9] Publish-Subscribe framework - the solution for this issue can be found here
- [Java 9] Variable Handles - the solution for this issue can be found here
- [Java 9] JShell Command Line Tool - make sure you go through the description of this task to get better understanding of JShell
- [Java 9] Process API - the solution for this issue can be found here
- [Java 9] Stream interface - the solution for this issue can be found here
- [Java 9/10/11] HTTP Client - the solution for this issue can be found here
- [Java 10] Local Variable Type Inference - the solution for this issue can be found here
- [Java 10] Unmodifiable Collections and Immutable Collections - the solution for this issue can be found here
- [Java 11] Predicate::not method - the solution for this issue can be found here
- [Java 11] New File methods - the solution for this issue can be found here
- [Java 12] File::mismatch method - the solution for this issue can be found here
- [Java 12] Teeing Collector - the solution for this issue can be found here
- [Java 12] Compact Number Formatting - the solution for this issue can be found here
- [Java 12/13] Switch expression - the solution for this issue can be found here
- [Java 13/14] Text Blocks - the solution for this issue can be found here . For more information on code blocks read this guide.
- [Java 14] More Descriptive NullPointerException - the solution for this issue can be found here
- [Java 14] Pattern Matching for instanceof - the solution for this issue can be found here . To get a better understanding you can check out the Unit test here .
- [Java 14/15] Records - the solution for this issue can be found here . To get a better understanding you can check out the Unit test here .
- [Java 15/16/17] Sealed classes - the solution for this issue can be found here .
- [Java 16] Records as class members of inner classes - the solution for this issue can be found here .
- [Java 16] Stream::toList method addition - the solution for this issue can be found here .
- [Java 17] Pattern Matching for switch Expressions and Statements - the solution for this issue can be found here .