This video introduces Java interop, or how you can interoperate with Java code from Clojure. The idiomatic way of accessing fields and methods on a class is to use the dot notation, e.g. (.toUpperCase "hello"). Static members simply need the classname, followed by a slash, followed by the static field or method, e.g. (MyClass/staticMethod "myarg"). Constructors are called by using a period after the class name, e.g. (MyClass. "arg1")
Here is the 19_java_interop.clj source code:
(meditations "You may have done more with Java than you know" (= __ (class "warfare")) ; hint: try typing (javadoc "warfare") in the REPL "The dot signifies easy and direct Java interoperation" (= __ (.toUpperCase "select * from")) "But instance method calls are very different from normal functions" (= ["SELECT" "FROM" "WHERE"] (map ___ ["select" "from" "where"])) "Constructing might be harder than breaking" (= 10 (let [latch (java.util.concurrent.CountDownLatch. __)] (.getCount latch))) "Static methods are slashing prices!" (== __ (Math/pow 2 10)))
This screencast tutorial helps you learn the Clojure programming language. Experience the joy of Clojure in the Light Table IDE as we tour through the Clojure Koans, taking you all the way from Beginner to Intermediate to Advanced.