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
public String toString () {
if (this.collection.isEmpty()) {
return null; // Noncompliant
} else {
// ...
Compliant solution
public String toString () {
if (this.collection.isEmpty()) {
return "";
} else {
// ...