32 lines
768 B
Plaintext
32 lines
768 B
Plaintext
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[]
|