

1·
21 days agoI want to write functions that fail at compile time if called with a null object. You can use annotations to kinda do this, but they do not produce compile errors.


I want to write functions that fail at compile time if called with a null object. You can use annotations to kinda do this, but they do not produce compile errors.
The problem is that when an project is too big and a method is called from multiple contexts it’s very easy to lose track of the context where the null check has been done and where it hasn’t. This leads to a lot of duplicated null checks around the project and the constant paranoia of “can this be null here?”.
A much better way of doing this is using the
Optionalwhen an Object can be “null” and a direct instance where it cannot. This way, at any given context you know for absolute sure if a null check is needed or not. However, even with annotations this does not throw a compile error…