== Why is this an issue? Calling ``++toString()++`` or ``++clone()++`` on an object should always return a string or an object. Returning ``++null++`` instead contravenes the method's implicit contract. === Noncompliant code example [source,java] ---- public String toString () { if (this.collection.isEmpty()) { return null; // Noncompliant } else { // ... ---- === Compliant solution [source,java] ---- public String toString () { if (this.collection.isEmpty()) { return ""; } else { // ... ---- == Resources * https://cwe.mitre.org/data/definitions/476[MITRE, CWE-476] - NULL Pointer Dereference * https://wiki.sei.cmu.edu/confluence/x/aDdGBQ[CERT, EXP01-J.] - Do not use a null in a case where an object is required ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]