我正在使用一个表示一系列结果的 Java 类(有点像 Clojure 向量)。
我想将这个类与典型的 Clojure 序列函数一起使用(即我想让这个类表现得好像它支持序列抽象)但是我不能改变这个类,所以我不能让它实现clojure.lang.Seqable
或类似的。此外,令人讨厌的是,该类没有实现java.util.Collection
or java.lang.Iterable
。
我可以看到几个选项:
iterator-seq
在对象的(现有)迭代器上使用。- 将对象包装在另一个实现
java.util.Collection
/的类中clojure.lang.Sequable
- 通过查询对象创建一个构建 Clojure 向量或序列的函数
还有其他选择吗?最好的方法是什么?