How can I call a java static method in clojure?

后端 未结 4 1297
耶瑟儿~
耶瑟儿~ 2020-12-05 17:27

I wish to call class on the String class. How can I access this static method?

相关标签:
4条回答
  • 2020-12-05 17:58

    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.

    0 讨论(0)
  • 2020-12-05 18:06

    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.

    0 讨论(0)
  • 2020-12-05 18:08

    An example is worth 100 words:

    (. String (valueOf 1))
    
    0 讨论(0)
  • 2020-12-05 18:20

    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).

    0 讨论(0)
提交回复
热议问题