Arrays 在clo和x200B中拆分字符串;j;然后打印
我是新来clo的J乌尔。我想拆分一个Arrays 在clo和x200B中拆分字符串;j;然后打印,arrays,string,printing,clojure,Arrays,String,Printing,Clojure,我是新来clo的J乌尔。我想拆分一个字符串,然后打印。如果我这样做: (.split "Dasher Dancer Prancer" " ") (.length (.split "Dasher Dancer Prancer" " ")) 它给出的#就是数组的toString() 如果我这样做了: (.split "Dasher Dancer Prancer" " ") (.length (.split "Dasher Dancer Prancer" " ")) 它给出了java.la
字符串
,然后打印。如果我这样做:
(.split "Dasher Dancer Prancer" " ")
(.length (.split "Dasher Dancer Prancer" " "))
它给出的#
就是数组的toString()
如果我这样做了:
(.split "Dasher Dancer Prancer" " ")
(.length (.split "Dasher Dancer Prancer" " "))
它给出了java.lang.IllegalArgumentException:未找到匹配字段:类的长度[Ljava.lang.String;
请改用:
无需为此使用java互操作
如果需要长度,请使用:
您试图调用的.split
是对字符串的一个简单java方法调用,它返回一个数组,然后由repl通过调用toString
将其转换为String
。正如您所注意到的,它没有给您期望的结果
clojure.string/split
另一方面,返回clojure.lang.PersistentVector
,它具有.toString
方法,可以按预期打印内容。您可以使用(alength)函数:
(alength (.split "Dasher Dancer Prancer" " "))
用户=>(文档长度)
clojure.core/alength
([array])
返回Java数组的长度。适用于所有
类型
(doc)和(find doc)对于Clojure的日常开发非常重要。回答得好。它们之间的区别是什么clojure.string/split
justsplit
?@javaguy你所说的split
是什么意思?split
在什么名称空间?或者你的意思是.split
?@soulcheck是的,我是指clojure.string/split just.split。如果你得到答案,请选择一个。