我想調用Java功能(由SVNKit提供)具有以下簽名時:ClassCastException異常傳遞一個HashMap的Java函數
public abstract long getFile(String path,
long revision,
Map properties,
OutputStream contents)
throws SVNException
的參數屬性和內容都是可選的。在Clojure中,我將此函數稱爲:
(defn read-file
""
[repository path]
(let [properties (java.util.HashMap.)
baos (java.io.ByteArrayOutputStream.)]
(.getFile repository path -1 properties baos)
(.size baos)))
我在屬性參數上得到一個ClassCastException。當我離開它(使用零而不是屬性)它工作正常。 ClassCastException不提供任何有關它所期望的類的信息。
任何想法?
這可能是一個愚蠢的問題 - 但你肯定Map接口的GetFile方法是一個java.util.Map? – mcfinnigan
您確定這是[方法簽名](http://svnkit.com/javadoc/org/tmatesoft/svn/core/io/SVNRepository.html)? –
「ClassCastException不提供任何有關它所期望的類的信息。」這非常適得其反。您應該提供實際的錯誤信息,並讓其他人決定它是否包含有用的信息,而不是嘗試總結您說不明白的錯誤消息。 – amalloy