【发布时间】:2011-02-21 17:09:42
【问题描述】:
我想知道是否有任何像 Lisp 一样好的 Java 多方法实现/库。
我发现了这个明显冻结的:JMMF
【问题讨论】:
标签: java multimethod
我想知道是否有任何像 Lisp 一样好的 Java 多方法实现/库。
我发现了这个明显冻结的:JMMF
【问题讨论】:
标签: java multimethod
您可以使用在 JVM 上运行并内置支持多方法的 Clojure。
【讨论】:
我创建了this library,它允许您通过创建满足接口的代理来使用多方法实现 Java 接口。我在几个项目中使用它,它是可以合理预测的,但请阅读文档:Java 中的多方法可以表现得很奇怪。
【讨论】:
有一些有效的替代方案可以处理multiple dispatch problem,也许这些替代方案几乎可以证明为什么它没有在该语言中实现。所以,你可以使用经典的visitor pattern,也可以使用一定量的反射。
有一个过时的 MultiJava Project 在 Java 中实现了多调度支持,还有几个其他项目使用反射来支持 Java 中的多方法:Java Multimethods、Java Multimethods Framework。也许还有更多。
【讨论】: