34 lines
796 B
Plaintext
34 lines
796 B
Plaintext
== Why is this an issue?
|
|
|
|
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
|
|
|
|
[source,java]
|
|
----
|
|
public String [] getStringArray(List<String> strings) {
|
|
return (String []) strings.toArray(); // Noncompliant; ClassCastException thrown
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,java]
|
|
----
|
|
public String [] getStringArray(List<String> strings) {
|
|
return strings.toArray(new String[0]);
|
|
}
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::message.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|