What? What about `foo == null`?
What? What about `foo == null`?
If instead the compiler can guarantee that a value will never be null, then you don't have to check, leading to cleaner code. Scala does this with the Option type, Typescript by forcing you to declare a type as `string|null` if it can be null. These sort of things make your code safer and cleaner.
Looking at a method/property signature it should be explicitly and unambiguously clear whether or not null is an acceptable value - but in java there is no way to enforce this.
And there's 7-8 different annotations to mark nullability, all slightly different in some detail.
It's a bloody and messy hell.
Doesn't help you with third party libraries, but across an org applying that rule (and others!) typically ensures some consistency.