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]);
}