I’m sorry for somewhat misleading click-bait title. I failed to give this story a better title. Java’s handling of null in its type-system is a mistake. It was said countless times before by many people, but I am still amazed by the sheer number of people who, in the year 2019 (even C# had accepted the truth!), defend the way Java handles null, so I felt obliged to write about that. Unfortunately, there is little chance for a change in Java itself anytime soon, so the only advise I can give is to move to Kotlin. There is (virtually) nothing to loose, but a lot to gain.