使用java static int混淆案例行为

Rog*_*len 5 clojure

我很困惑...... 这个静态值等于5

user> java.awt.image.BufferedImage/TYPE_3BYTE_BGR
5
Run Code Online (Sandbox Code Playgroud)

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

user> (case 5
        5 "yes"
        "huh?")
"yes"
Run Code Online (Sandbox Code Playgroud)

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

user> (case java.awt.image.BufferedImage/TYPE_3BYTE_BGR
            java.awt.image.BufferedImage/TYPE_3BYTE_BGR "yes"
            "huh?")
"huh?"
Run Code Online (Sandbox Code Playgroud)

Bar*_*mar 6

表达式中的test-constants case不会被评估.因此,您的声明正在测试该数字5是否与符号相同java.awt.image.BufferedImage/TYPE_3BYTE_BGR.因为它们不是,所以它属于默认条款.