1.如果字串最後一位有值,則沒有區別,
2.若干最後n位都是切割符,split(" ")不會繼續切分,split(" ", -1)會繼續切分
String line = "a b c "; String [] tmp = line.split(" "); System.out.println(tmp.length+"------"); for(int i=0;i<tmp.length;i++){ System.out.println(i+"="+tmp[i]); } String [] items = line.split(" ",-1); System.out.println(items.length+"========"); for(int i=0;i<items.length;i++){ System.out.println(i+"="+items[i]); } 結果:
4------
0=a
1=b
2=
3=c
13========
0=a
1=b
2=
3=c
4=
5=
6=
7=
8=
9=
10=
11=
12=
[java] view plain copyString line = "a b c d"; String [] tmp = line.split(" "); System.out.println(tmp.length+"------"); for(int i=0;i<tmp.length;i++){ System.out.println(i+"="+tmp[i]); } String [] items = line.split(" ",-1); System.out.println(items.length+"========"); for(int i=0;i<items.length;i++){ System.out.println(i+"="+items[i]); } 結果:
13------
0=a
1=b
2=
3=c
4=
5=
6=
7=
8=
9=
10=
11=
12=d
13========
0=a
1=b
2=
3=c
4=
5=
6=
7=
8=
9=
10=
11=
12=d