DEV Community

loading...

Practice what's new in Java

Jean-Michel Fayard πŸ‡«πŸ‡·πŸ‡©πŸ‡ͺπŸ‡¬πŸ‡§πŸ‡ͺπŸ‡ΈπŸ‡¨πŸ‡΄
Weeks of programming can save hours of planning
・2 min read

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.

This is exactly what I've started to do here:

GitHub logo jmfayard / java16-playground

Life is too short for Java 8




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);
    }
}

Enter fullscreen mode Exit fullscreen mode

This gives you a view of the features of modern Java that are already covered:

java16-playground_–_README_md__java16-playground_

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)

Issues_Β·_jmfayard_java16-playground

Discussion (0)