String方法split(String str,int len)和split(String str)之间有什么区别?
问题描述:
String str = "1,2,3,,";
String[] arr1 = str.split(",");
String[] arr2 = str.split(",", -1);
// equals ?false
System.out.println(Arrays.deepEquals(arr1, arr2));
// values [1, 2, 3]
System.out.println(Arrays.deepToString(arr1));
// [1, 2, 3, , ]
System.out.println(Arrays.deepToString(arr2));
我应该选择哪种方法?给我一些建议。String方法split(String str,int len)和split(String str)之间有什么区别?
答
由于documentation表示split(String str,int len)将返回模式“str”的最大“len”-1匹配,因此您可以设置获得多少结果的阈值。
在没有限制的情况下,模式将尽可能多地应用。
秘密被埋在API中:https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#split-java.lang.String-/https:// docs.oracle.com/javase/8/docs/api/java/lang/String.html#split-java.lang.String-int- –
您需要选择的方法取决于您要使用结果的方式。 –