2016-12-14 77 views
2

我不明白它为什么这样工作 - 请参见下面的split()方法的用例。Java拆分()方法混淆

String x = "one,"; 
    String y = ",one"; 
    System.out.println(Arrays.toString(x.split(","))); //prints [one] 
    System.out.println(Arrays.toString(y.split(","))); //prints [, one] 

我期待他们打印[one,]和[,one]。

+1

尝试'System.out.println(Arrays.toString(x.split(“,”,-1))); //打印[one,]' –

回答

4

split的答案的Javadoc在于:

此方法仿佛通过与给定表达式和为零的限制参数调用两个参数分割方法。 因此尾随的空字符串不包含在结果数组中。

x.split(",",-1)将导致[one, ]