Why is this an issue?

Invoking a method designed to return a string representation of an object which is already a string is a waste of keystrokes. This redundant construction may be optimized by the compiler, but will be confusing in the meantime.

Noncompliant code example

String message = "hello world";
System.out.println(message.toString()); // Noncompliant;

Compliant solution

String message = "hello world";
System.out.println(message);