黑马程序员技术交流社区

标题: 学习中发现的有关字符串分割的一个小现象 [打印本页]

作者: Rancho_Gump    时间: 2013-1-4 22:04
标题: 学习中发现的有关字符串分割的一个小现象
本帖最后由 张向辉 于 2013-1-16 11:25 编辑

String str = "a,b,c";
String[] strs = str.split("");

得到的strs数组长度是str.length()+1;
strs的长度为0

谁能给解释下原理啊?

作者: 焦健    时间: 2013-1-4 22:41
在分割的时候JVM会先找到一个空字符用于进行分隔,在找到的第一个字符a以前会找到一个空位,从这个空位进行分隔,但是这个空位的前面没有东西,所以这个位置是空的,所以长度为0,a , b , c中每一个字符占一个位子,前面加上一个空位子,所以得到的strs数组长度是str.length()+1;和strs[i]的长度为0的结果
作者: 蔡少凯    时间: 2013-1-4 22:51
我将程序改了下
           String str = "a,b,c";
                    String[] strs = str.split("");
                    for(int i = 0;i<strs.length;i++){
                            System.out.println("--"+strs[i]+"--");
                    }
                    System.out.println("--"+strs[0]+"--");
                    System.out.println(strs.length);
打印的结果为
----
--a--
--,--
--b--
--,--
--c--
----
6





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2