我经常通过放置类型完全明显的注解来处理反射警告。
(def ^String foo "bar") ;; adding ^String fixes reflection warnings elsewhere
"bar"
是一个字符串,这在编译时昭然若揭,因此在我看来,我只是在做一些繁琐的工作,而且还可能在未来变得过时。
有没有考虑过为这样的简单情况添加“类型推断”?
(这里的“类型推断”可能对这个用例来说是一个夸张的术语)
...我可以想象至少一个反对意见:`(def ^CharSequence foo "bar")
`也可能是准确和有用的。但一个好的默认设置是推断`x`的类型为`x`的类 - 如果用户想要将`x`注释为其祖先之一(这里:`CharSequence`,`Object`),则可以通过手动覆盖推断的默认值来实现。