2013-04-25 90 views
3

正如標題解釋查詢當輸入爲空時String.split()的行爲

有人可以請解釋下面兩個輸出的行爲。

"".split(",").length 

給出輸出

1 

其中作爲

",".split(",").length 

給出輸出

0 
+0

你應該擡起頭來,看了你的javadoc問這個問題之前。 – 2013-04-25 13:52:26

+0

這是如何得到5 upvotes?沒有做任何努力。 – 2013-04-25 13:58:50

+3

@SotiriosDelimanolis答案如何得到+15? ;-) – 2013-04-25 14:00:51

回答

17

在第一種情況中,原始的字符串被返回,因爲分隔符是不找到。

API docs

如果表達式不匹配輸入的任何部分,然後將得到的陣列僅具有一個元素,即此字符串。

+8

誰會猜到? javadoc有答案! – 2013-04-25 13:51:15

+1

@StephenC稍微公平一點,只有在['String.split(String regex,int limit)'](http://docs.oracle.com/javase/7/docs/api/java/ lang/String.html#split%28java.lang.String,%20int%29)變體。 – 2013-04-25 13:52:26

+0

@DuncanJones - 但我敢打賭'split(String正則表達式)'版本說「看另一個變種的細節」! – 2013-04-25 13:54:05

相關問題