如邮件列表中提出: https://groups.google.com/forum/#!topic/clojure/3yGjDO2YnjQ
不可能在 case 语句中使用 Java 常量。在这种情况下,condp = 可以使用,但这是一些可以在 Java switch 语句中使用的功能,因此放弃常量时间调度是很烦人的。例如
(case (.getActionMasked event)
MotionEvent/ACTION_POINTER_DOWN :down
MotionEvent/ACTION_UP :up
MotionEvent/ACTION_POINTER_UP :up
MotionEvent/ACTION_MOVE :move
MotionEvent/ACTION_CANCEL :cancel
MotionEvent/ACTION_OUTSIDE :outside
:none))
不起作用,但没有理由这不能在编译时解决并以常量时间调度。