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.
public String [] getStringArray(List<String> strings) { return (String []) strings.toArray(); // Noncompliant; ClassCastException thrown }
public String [] getStringArray(List<String> strings) { return strings.toArray(new String[0]); }