|
|
|
|
|
by nilkn
4809 days ago
|
|
In comparison to Haskell, null in Java is similar to adding an implicit Maybe a instance for every type a. In doing so, Java makes it just that much easier to create bottom values when they are not desired (e.g., dereferencing a null pointer). |
|
E foo; ... foo=foo.bar().bat()
without having to do a null check after each function.
I think that Java's approach has the worst of both worlds, because there is no way to make foo.bar().bat() safe when a function could return null.
In C, for example, calling a method on a null object does not cause an error. Rather it passes in null as the 'this' value, allowing you to do you null checks within the method.