簡體   English   中英

在Clojure中調用Java非靜態方法

[英]Calling java non-static method in Clojure

我是否對某些事情有錯誤的想法:Clojure在啟動REPL時會導入java.lang包中的所有類。 因此,人們應該能夠從這些類中調用方法而無需導入它們。 現在,我嘗試使用不同類的java.lang包,並且無法以(.Method)形式調用某些公共方法,例如,運行時類的( .totalMemory )拋出IllegalArgumentException。 有任何想法嗎?

您需要使用此:

(.totalMemory (Runtime/getRuntime))

Clojure不會自動從java.lang所有類導入所有方法。 此外,該方法totalMemoryRuntime是不是一個靜態方法,所以你需要指定實例調用的方法。

您可以通過從類Runtime調用靜態方法getRuntime來獲取實例。

有關如何從Clojure調用Java方法的信息,請參見Clojure-Java Interop

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM