¿Cómo hago esto?Cómo un lanzamiento a una cadena [] en Clojure?
user=> (Test/main (object-array ["hello" "world"]))
ClassCastException [Ljava.lang.Object; cannot be cast to [Ljava.lang.String; user/eval21 (NO_SOURCE_FILE:21)
¿Cómo hago esto?Cómo un lanzamiento a una cadena [] en Clojure?
user=> (Test/main (object-array ["hello" "world"]))
ClassCastException [Ljava.lang.Object; cannot be cast to [Ljava.lang.String; user/eval21 (NO_SOURCE_FILE:21)
object-array
sólo se utiliza para hacer matrices de tipo Object[]
. Trate into-array
como se puede especificar el tipo (ver here)
> (into-array String ["Awesome","Sauce"])
> #<String[] [Ljava.lang.String;@1b86d76f>
(def v ["Hello" "World"])
(def a (to-array v))
EDIT: Como se ha señalado @ Jeff, into-array
creará conjunto de tipos (String[]
) en lugar de Object[]
.
Eso todavía produce algo de tipo 'Object []' though - Pensé que la pregunta original era cómo hacer algo de tipo 'string []' –
@JeffFoster Foster: sí, ya lo noté :) No puedo borrar mi respuesta yo mismo, así que solo voto a tu respuesta. – ffriend
Gracias! Esto funcionó. –
Y si necesita crear una matriz vacía (es decir, aún no tiene datos), use 'make-array'. –