Jak to działa?Jak obsada na ciąg [] w 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)
Jak to działa?Jak obsada na ciąg [] w 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
jest właśnie używany do tablic typu Object[]
. Spróbuj into-array
jak można określić typ (patrz here)
> (into-array String ["Awesome","Sauce"])
> #<String[] [Ljava.lang.String;@1b86d76f>
(def v ["Hello" "World"])
(def a (to-array v))
EDIT: Jak zauważył @Jeff, into-array
utworzy tablicę określonego typu (String[]
) zamiast Object[]
.
Wciąż jednak powstaje coś w rodzaju 'Object []' - myślałem, że pierwotne pytanie brzmiało: jak stworzyć coś w rodzaju 'string []' –
@JeffFoster Foster: tak, już to zauważyłem :) Nie mogę usunąć mojej odpowiedzi siebie, więc pogódź się z odpowiedzią. – ffriend
Dzięki! To zadziałało. –
A jeśli chcesz utworzyć pustą tablicę (tzn. Nie masz jeszcze danych), użyj 'make-array'. –