public class AssertNullable { public static void main(String[] args) { if (args.length >= 1) { Boolean b = null; // This will result in an NPE, not an AssertionError: // Exception in thread "main" java.lang.NullPointerException // Therefore, the Nullness Checker warns about this. //:: error: (condition.nullable) assert b; } else { String s = null; // This is OK, the message will look like: // Exception in thread "main" java.lang.AssertionError: null assert 4 < 3 : s; } } void foo() { String s = 3 > 2 ? null : "ba"; //:: error: (dereference.of.nullable) assert s.hashCode() > 4; } }