使用java static int混淆案例行为

时间:2013-03-17 00:08:38

标签: clojure

我很困惑...... this static value等于5

user> java.awt.image.BufferedImage/TYPE_3BYTE_BGR
5

并且案例陈述应该像这样工作

user> (case 5
        5 "yes"
        "huh?")
"yes"

但为什么它会像这样工作?为什么不匹配?

user> (case java.awt.image.BufferedImage/TYPE_3BYTE_BGR
            java.awt.image.BufferedImage/TYPE_3BYTE_BGR "yes"
            "huh?")
"huh?"

1 个答案:

答案 0 :(得分:6)

不评估test-constant表达式中的case s。因此,您的声明正在测试数字5是否与符号java.awt.image.BufferedImage/TYPE_3BYTE_BGR相同。由于它们不是,它将落入默认条款。