Clojure r/foldcat的返回值根据数据大小而变化

Clojure r/foldcat的返回值根据数据大小而变化,clojure,Clojure,在执行以下程式码时— (r/foldcat (r/mapcat prepare-event events)) 1当count events->100时,上述代码返回java.util.ArrayList类型的数据 2当count events->1000时,上述代码返回clojure.core.reducers.Cat类型的数据 上面的行为破坏了我的代码,为什么它会根据数据是并行的还是不使用r/cat combine fn返回不同的类型?它不应该总是返回已实现的数据吗?Clojuredocs有

在执行以下程式码时—

(r/foldcat (r/mapcat prepare-event events))
1当count events->100时,上述代码返回java.util.ArrayList类型的数据 2当count events->1000时,上述代码返回clojure.core.reducers.Cat类型的数据


上面的行为破坏了我的代码,为什么它会根据数据是并行的还是不使用r/cat combine fn返回不同的类型?它不应该总是返回已实现的数据吗?

Clojuredocs有一个行为示例:

clojure.core.reducers.Cat可用于进一步还原。
为什么它会破坏您的代码?

这是一个实现细节,您不应该依赖这些类型。和往常一样,创建一个最小的可复制示例会有所帮助