Я не уверен, (bytes b)
- правильный синтаксис (что такое #whidbey/bin
???).
Возможно, попробуйте
(byte-array [1 2 3])
или подобный.Вы также можете попробовать указать тип подсказки для параметра:
(.create s
blob-info
^"[B" (byte-array [1 2 3]) ; type-hinted param
)
Обновление
Вот пример подсказки типа, которая, я думаю, вам нужна:
(let [byte-array-obj (byte-array [1 2 3])
sss (java.util.Arrays/toString ^"[B" byte-array-obj) ]
(spyxx byte-array-obj)
(spyx (type byte-array-obj))
(spyx (aget byte-array-obj 2))
(spyx sss))
с результатом:
byte-array-obj => <#[B #object["[B" 0x26071f95 "[B@26071f95"]>
(type byte-array-obj) => [B
(aget byte-array-obj 2) => 3
sss => "[1, 2, 3]"
Обратите внимание, что Clojure имеет простой способ ввода подсказки без использования строкового синтаксиса java-native "[B"
:
(java.util.Arrays/toString ^"[B" byte-array-obj) ; type hint using a string
(java.util.Arrays/toString ^bytes byte-array-obj) ; Clojure "build-in" type hint
, оба из которых являютсяэквивалент.