从JDK19+版本开始,以下不需要添加类型提示即可反射
(def x 10)
(Thread/sleep x)
难点在于,在较早的JDK中上述代码没有进行反射,但当你升级JDK时,反射开始
如果使用native-image,你的程序可能会因为缺少反射配置而开始失败
将会有一个接受数字的内部sleep函数,这样我们就不必忘记添加类型提示,并且它在各个JDK上都保持一致
例如。
(ns clojure.java.misc)
(defn sleep [x]
(if (number? x)
(Thread/sleep (long x))
....)
对于clojure.java.misc
的更好名称是welcome。也许只是clojure.java
,或者将此函数放入clojure.core
?