Given no arguments, the Collections.toArray method returns an Object [], which will cause a ClassCastException at runtime if you try to cast it to an array of the proper class. Instead, pass an array of the correct type in to the call.

Noncompliant Code Example

public String [] getStringArray(List<String> strings) {
  return (String []) strings.toArray();  // Noncompliant; ClassCastException thrown
}

Compliant Solution

public String [] getStringArray(List<String> strings) {
  return strings.toArray(new String[0]);
}