Java-массивы в gen-интерфейсе Clojure - PullRequest
2 голосов
/ 23 сентября 2011

У меня есть этот кусок кода:

(ns com.example.main)

(gen-class
  :name com.example.main.CTest
  :methods [ [foo [] "[B"]])

(defn -foo [this]
  (byte-array [(byte 1) (byte 2)]))

(gen-interface
  :name com.example.main.ITest
  :methods [ [foo [] "[B"]])

Правильно создает метод foo в классе CTest с типом возврата byte[]. Однако то же самое создает метод с типом возврата [B в интерфейсе ITest. Как мне сделать это правильно? Это ошибка в Clojure?

Спасибо, Дэвид

1 Ответ

2 голосов
/ 23 сентября 2011

Я не знаю, предпочтительнее ли другое решение, но это работает:

(gen-interface
  :name com.example.main.ITest
  :methods [[foo [] #=(java.lang.Class/forName "[B")]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...