jav*_*guy 2 printing arrays string clojure
我是新手.我想拆分String然后打印.如果我做 :
(.split "Dasher Dancer Prancer" " ")
Run Code Online (Sandbox Code Playgroud)
它给出了#<String[] [Ljava.lang.String;@64e0e8ca>哪个只是toString()数组的.
如果我这样做:
(.length (.split "Dasher Dancer Prancer" " "))
Run Code Online (Sandbox Code Playgroud)
它给 java.lang.IllegalArgumentException: No matching field found: length for class [Ljava.lang.String;
clojure.string/split改为使用:
user=> (clojure.string/split "Dasher Dancer Prancer" #" ")
["Dasher" "Dancer" "Prancer"]
Run Code Online (Sandbox Code Playgroud)
不需要为此使用java interop.
如果您需要长度,请使用计数:
user=> (count (clojure.string/split "Dasher Dancer Prancer" #" "))
3
Run Code Online (Sandbox Code Playgroud)
在.split你试图调用是在一个简单的Java方法调用String,它返回一个数组,然后通过REPL转换为String通过调用toString就可以了.正如您所注意到的那样,它并没有给您带来理想的结果.
clojure.string/split另一方面,返回clojure.lang.PersistentVector具有.toString按预期打印内容的方法.
| 归档时间: |
|
| 查看次数: |
214 次 |
| 最近记录: |