次の呼び出し:
(String/format "%s" "a")
...「ClassCastExceptionjava.lang.StringをClojureの[Ljava.lang.Object」例外にキャストできません」をスローします。
(String/format "%s" (cast Object "a"))
....同じ例外が発生します。
次の呼び出し:
(String/format "%s" "a")
...「ClassCastExceptionjava.lang.StringをClojureの[Ljava.lang.Object」例外にキャストできません」をスローします。
(String/format "%s" (cast Object "a"))
....同じ例外が発生します。
Object[]
Java APIの最後の引数は、ではなく配列であるためですObject
。
電話するだけ(String/format "%s" (into-array ["a"]))
しかし、使用するのはもっと慣用的です(format "Hello %s" "world")
[Lは「配列が欲しい」という意味なので、を使用します(String/format "%s" (to-array "a"))
。一般的な構文:(to-array ["a" 42 0.666]).
String.format
内部的にプレーンJava配列であるvarargsを使用しています。次に、入力パラメータを配列に変換する必要があります。たとえば、次のコマンドを使用しto-array
ます。
user=> (String/format "%s" (to-array "a"))
"a"