1. 如果regex只有一位,且不為列出的特殊字符;
2.如regex有兩位,第一位為轉義字符且第二位不是數字或字母,“|”表示或,即只要ch小於0或者大於9任一成立,小於a或者大於z任一成立,小於A或大於Z任一成立
3.第三個是和編碼有關,就是不屬於utf-16之間的字符
則可以進行下一步操作。
剛開始十分不能理解 next = indexOf(ch,off),因為自己敲代碼的時候都是用String.indexOf,此處直接indexOf,不明白是什么意思,在網上查也沒查到原因。后來突然靈光一現想通了,也知道為什么網上沒有原因了...因為太簡單,估計只有我有這個疑問吧。
原因就是:split本身就是String.spilt(),已經是打點調用了,此處就是默認了為String.indexOf().表達的意思就是如果這個字符串中包含了用於分割的ch,則進行下一步操作。
if{}else{},其實我還是不太明白這個地方的else存在的意義,因為split()傳入的limit=0而且沒有看到有對limit進行更改的代碼,list.size()初始值為0且只會增大,所以if()的條件是必然成立的,當while循環結束后,下方還有代碼進行了else部分的操作。
如果有大神看到這里,麻煩指點一下迷津。
if(){}是為了去掉后面""的元素;
toArray真強大,可以直接把list的各個元素分為數組中的元素,一開始還以為是全部為一個元素,結果后來自己用hello world試了一下,發現是按照list的元素下標來分的。
想想也對,本身list就是從數組衍生出來的可變數組。