我很困惑...... 这个静态值等于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)
表达式中的test-constants case不会被评估.因此,您的声明正在测试该数字5是否与符号相同java.awt.image.BufferedImage/TYPE_3BYTE_BGR.因为它们不是,所以它属于默认条款.