最简单的方法是
(case (.getName (class c))
"java.lang.String" "We got a string!"
"[[I" "An array of arrays of int.")
建议直接使用字符串而不是尝试使它们成为符号,因为Java类名可能会变得非常奇怪,如果是数组则前面带有方括号,如果是嵌套类则包含嵌套的美元符号。
此外,请记住,仅仅一个名称并不能唯一地识别一个类;您可能有由不同的类加载器加载、彼此不兼容的具有相同名称的类。然而,对于您正在考虑这类case
表达式的所有情况,这可能不会成为问题。