加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在Clojure中扩展自定义Java类,映射和序列的协议

发布时间:2020-05-24 06:12:11 所属栏目:Java 来源:互联网
导读:我在Clojure 1.2中创建了一个协议来处理我自己的Java类,并且对通用的java.lang.Object进行了默认处理.代码看起来像:(extend-protocol PMyProtocol my.java.ClassName (protocol-function [c] My Java class result)

我在Clojure 1.2中创建了一个协议来处理我自己的Java类,并且对通用的java.lang.Object进行了默认处理.代码看起来像:

(extend-protocol PMyProtocol
  my.java.ClassName
    (protocol-function [c]
      "My Java class result")

  java.lang.Object
    (protocol-function [c]
      "Default object result"))

我应该如何扩展它以对标准Clojure数据结构(特别是地图,向量和序列)进行特殊处理? 最佳答案 所有Clojure的持久数据结构都实现了扩展clojure.lang.PersistentCollection的接口. Clojure的瞬态集合实现了clojure.lang.TransientCollection.您可以将协议扩展到这些,就像将它扩展到类一样(尽管只处理持久性集合可能更有意义).

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读