簡體   English   中英

Clojure-將列表轉換為Java數組

[英]Clojure - convert list into Java array

是否有任何慣用的方式將Clojure列表轉換為Java數組,除了首先將其轉換為vector並使用into-array (意味着,除了(into-array (vec my-list)) ,我還不想添加高架)?

您的問題似乎是基於錯誤的前提。 數組中不需要向量,它需要一個適當的值。 該文檔( http://clojuredocs.org/clojure_core/clojure.core/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>

由於我需要專門擁有一個整數數組,因此我使用了int-array函數,該函數將list作為參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM