How can I call a java static method in clojure?
I wish to call class on th开发者_JS百科e String class. How can I access this static method?
You can call a static method using (ClassName/methodName arguments)
.
However class
is not a static method, it's a java keyword and you don't need it in clojure. To get the Class object associated with the String class, just use String
.
An example is worth 100 words:
(. String (valueOf 1))
Your question has been answered, I think, but if you really do want to get the class of an unknown object, you can use the class function:
> (class "Foo")
java.lang.String
As in java, to specify classes outside of java.lang as literals, you need to either import them, or specify the full package + class name using dot (.) separators.
Class doesn't have a "class" method, nor a "class" member. The symbol String is mapped to the class java.lang.String, if what you want to get is the equivalent of Java's String.class
. If you want to call a static method of the String class, the syntax is (String/methodName arg1 arg2)
.
精彩评论