_由 jafingerhut 提出的评论_
为了未来的参考,以防除了我之外的其他人好奇,这种错误在没有JDK 10及以下版本时并没有发生,因为接口java.util.Collection中只存在一个名为"toArray"的1参数方法:这是:[链接](https://download.java.net/java/early_access/jdk11/docs/api/java.base/java/util/Collection.html#toArray(T%5B%5D)) ,签名 " T[] toArray(T[] a)"
从JDK 11开始,接口java.util.Collection中新增了一个名为"toArray"的1参数方法:[链接](https://download.java.net/java/early_access/jdk11/docs/api/java.base/java/util/Collection.html#toArray(java.util.function.IntFunction)) ,签名 "default T[] toArray(IntFunction generator)"
因此,在没有类型提示的情况下,Clojure编译器无法确定在尝试使用1个参数定义toArray的deftype形式中哪个方法被意图使用(Clojure deftype方法定义中的'this'加一个参数)。