Я играю с Java NIO.2 API из JDK 7.
В частности, я хочу вызвать метод: Paths#get(String first, String... more)
Это статический методкоторая принимает хотя бы одну строку и возвращает соответствующий ей объект Path.Есть перегруженная форма: Paths#get(URI uri)
Однако я не могу вызвать метод top из Clojure.Ближайшее, что я могу получить, это:
(Paths/get ^String dir-fq (object-array 0))
, что не так:
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
, как и следовало ожидать.В конце концов, мы передаем Object [] чему-то ожидающему String [].
Я попытался удалить форму (массив объектов) - но это только заставляет Clojure попытаться вызвать метод get (URI) - как с подсказкой типа, так и без нее.
Передачаnil как второй аргумент Paths # get (String, String ...) заставляет вызываться правильный метод, но Java 7 не работает с NPE.
Кажется, я не могу найти способClojure для выражения типа String [] - я предполагаю, что мне нужно либо сделать это, либо дать подсказку системе диспетчеризации.
Есть идеи?