gpt4 book ai didi

list - Clojure - 将列表转换为 Java 数组

转载 作者:行者123 更新时间:2023-12-04 22:32:38 25 4
gpt4 key购买 nike

除了首先将其转换为向量并使用 之外,是否有任何惯用的方法将 Clojure 列表转换为 Java 数组?成阵列 (意思是,除 (into-array (vec my-list)) 之外的东西,因为我不想要额外的开销)?

最佳答案

你的问题似乎是基于一个错误的前提。 into-array 不需要采用向量,它采用可排序的值。文档 ( http://clojuredocs.org/clojure_core/clojure.core/into-array ) 包含在非向量序列上使用 into-array 的示例:

user=> (into-array (range 4))
#<Integer[] [Ljava.lang.Integer;@63d6dc46>

user=> (type (range 4))
clojure.lang.LazySeq

user=> (doc range)
-------------------------
clojure.core/range
([] [end] [start end] [start end step])
Returns a lazy seq of nums from start (inclusive) to end
(exclusive), by step, where start defaults to 0, step to 1, and end
to infinity.

在列表上调用它也同样有效:
user=> (into-array (list 1 2 3))
#<Long[] [Ljava.lang.Long;@138297fe>

关于list - Clojure - 将列表转换为 Java 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16647261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com