在邮件列表中提出: 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))
不起作用,但没有任何理由不能在编译时解决并在常量时间内派发。