You have read about the new features that have arrived in Java world but didn't have the opportunity to learn them yet? I have a challenge for you.
What's new in Java world
I won't describe what's new in Java world because this article is hard to surpass:
How to practice it?
But reading about what's new is not enough.
Alas, your project at work may be stuck with Java 11 or even Java 8.
In a previous article, I shared the tip that if you want to learn more about a programming language - or here its evolution - you should write unit tests about them.
![jmfayard](https://res.cloudinary.com/practicaldev/image/fetch/s--8PzPESdJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://media.dev.to/cdn-cgi/image/width%3D150%2Cheight%3D150%2Cfit%3Dcover%2Cgravity%3Dauto%2Cformat%3Dauto/https%253A%252F%252Fdev-to-uploads.s3.amazonaws.com%252Fuploads%252Fuser%252Fprofile_image%252F17066%252F8152404c-3de2-4be3-8554-7b80c1b4823e.jpeg)
Unit test your learning 💡
Jean-Michel 🕵🏻♂️ Fayard ・ May 28 '21
This is exactly what I've started to do here:
jmfayard
/
java16-playground
Life is too short for Java 8
java16-playground
Life is too short for Java 8
Playground project demonstrating the new features from Java 8 to Java 16
See article: Practice what's new in Java
Contributions welcome, see open issues
Reference: https://dev.to/awwsmm/20-reasons-to-move-on-from-java-8-1dio
If you look in the src/main/test folder, you will find snippets like this one:
public class RecordJava14 {
record Employee (String name, int age, String department) {
}
@Test
void createRecord() {
var patrik = new Employee("Patrick", 36, "Marketing");
assertThat(patrik.toString()).isEqualTo("Employee[name=Patrick, age=36, department=Marketing]");
assertThat(patrik.name()).isEqualTo("Patrick");
var clone = new Employee("Patrick", 36, "Marketing");
assertThat(clone).isEqualTo(patrik);
}
}
This gives you a view of the features of modern Java that are already covered:
Your challenge
If you want to learn more about modern Java, I challenge you to pick one of the remaining issues and implement it.
https://github.com/jmfayard/java16-playground/issues
(of course, you can also create a new issue)
Top comments (0)