## 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

    public String toString () {
      if (this.collection.isEmpty()) {
        return null; // Noncompliant
      } else {
        // ...

### Compliant solution

    public String toString () {
      if (this.collection.isEmpty()) {
        return "";
      } else {
        // ...

## Resources

- CWE - CWE-476 - NULL Pointer Dereference
- CERT, EXP01-J. - Do not use a null in a case where an object is required