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;
}
}