Reputation: 58766
I wish to call class on the String class. How can I access this static method?
Upvotes: 37
Views: 20046
Reputation: 17773
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.
Upvotes: 7
Reputation: 91837
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)
.
Upvotes: 6
Reputation: 370092
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
.
Upvotes: 55