亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java issue String.split()

Java issue String.split()

胡說叔叔 2022-08-03 12:45:27
我有一個關于 .java.lang.String.split()String str = "aaaaa";String[] str1 = str.split("a");str = "aaaaa ";String[] str2 = str.split("a");System.out.println(Arrays.toString(str1));System.out.println(Arrays.toString(str2));結果是str1 == nullstr2 == ["", "", "", "", "", " "]為什么會這樣呢?str1
查看完整描述

2 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

str1實際上是一個空數組,而不是 。Stringnull

String[] java.lang.String.split(String regex)

圍繞給定正則表達式的匹配項拆分此字符串。

此方法的工作方式就像調用具有給定表達式和極限參數零的雙參數拆分方法一樣。因此,尾隨空字符串不包括在結果數組中。

如果結果僅包含空字符串,則它們都將被刪除,結果最終為空數組。str1

在示例中并非如此,其中最后一個字符串不為空(它包含單個空格),因此不會從結果中刪除(非尾隨)空字符串。str2


查看完整回答
反對 回復 2022-08-03
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

只是為了補充一點,如果你仍然想用空字符串保留數組,你可以使用


String[] s_ = str.split("a", 6);

System.out.println("s_ : " + Arrays.toString(s_));

,或任何其他大于 6 的限制(應用模式的次數),而不是簡單的拆分。


后者將打印,


s_ : [, , , , , ]


查看完整回答
反對 回復 2022-08-03
  • 2 回答
  • 0 關注
  • 123 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號