断点下,数组b 第一个字符是空字符,2-4 分别是abc
所以,b的长度为4

解决方案 »

  1.   

    你这个是正则表达式分割,每一个空白位置都会导致分割。
    由于Java正则引擎的关系,空白位置一共3个,分别位于abc以前。String[] b = a.split("(?<=.)(?=.)");
      

  2.   

    split
    public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。 
    该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串split 读第一个字符时,会先读取a前面的空格,然后进行分割,后面依次,读到c时,总共读取3次,所以abc被分为4段。
      

  3.   

    感觉你是想用String.toCharArray吧!
      

  4.   

      String a = "abc";
            String[] e=Pattern.compile("").split(a, 0);
            System.out.println(e.length);
      

  5.   

    split
    public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。 
    该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串split 读第一个字符时,会先读取a前面的空格,然后进行分割,后面依次,读到c时,总共读取3次,所以abc被分为4段。
    哦,知道了,修正一下,b[0]不是空格,而是“”,什么也没有;