Подсказка типа Clojure для Map.Entry - PullRequest
6 голосов
/ 07 февраля 2011

Каков синтаксис подсказки типа для java.util.Map.Entry, вложенного статического внутреннего класса, в Clojure 1.2?

Я пробовал оба ^Map/Entry и ^Map.Entry, и ни один из них не скомпилируется.

Ответы [ 2 ]

10 голосов
/ 07 февраля 2011

Нашёл!

(ns com.example
  (:import [java.util Map Map$Entry]))

(let [^Map$Entry foo ...])

и для подсказок типа Object[]:

(let [^"[Ljava.lang.Object;" foo ...])

Кстати, это какой-то уродливый синтаксис.Есть ли лучший способ?

3 голосов
/ 07 февраля 2011

Внутренние классы обозначаются знаком $, поэтому в этом случае вы можете ссылаться на него из Clojure как Map$Entry.

...