Rolling out @Nullable
Jesse Wilson

Great article! Informative and concise.

I would like to add that the related practice of adding \@NonNull annotations to methods is not a very good practice (too much boilerplate, and no way to ensure consistency).

Better use a convention that any argument or return value which is not \@Nullable is assumed to be non-null, and don’t perform null checks for them.

If you’re adding \@NonNull’s in order to enable automatic detection of null violations, then you can have that functionality without \@NonNull’s using a trick described here: