这样做最容易
(case (.getName (class c))
"java.lang.String" "We got a string!"
"[[I" "An array of arrays of int.")
我建议直接使用字符串,而不是尝试将它们转换为符号,因为Java类名可能非常奇怪,如果是一个数组,则会以方括号开头,如果是嵌套类,则嵌入美元符号。
另外,请注意,仅名称不足以唯一标识一个类;您可能有不同类加载器加载的具有相同名称的类,它们之间不能相互兼容。但是,对于您正在考虑此类型case
表达式的多数情况,这可能不会是问题。