如果两个,号之间没有东东,split是不会算它的。如果a中全是逗号可以如下做:
String[] c=new String[a.length];
直接用a的长度新建一个数组。

解决方案 »

  1.   

    问题的关键在于
    a 并不一定都是那样的
    可能豆号之间还有字符(a="a,,,," or a=",,,,a"  ......)
    顺便还问一下如何让LABEL内容可以换行我试了:
     lb=new Label("Tt\n\radddfadfasdfsdff");
    不管用
      

  2.   

    String []c=a.split(",");改String []c=a.split(',');
      

  3.   

    JLabel lb=new JLabel("<html>a<br>c<br></html>");
      

  4.   

    class A{
    public static void main(String args[]){
    String str=", , , , , , , ";
    String st[]=str.split(",");
    System.out.println("st.length="+ st.length);
    }
    }
    /////////////////////////st.length=8
    why ?
      

  5.   

    一帮蒙古大夫
    看看jdk的资料就知道了
    string.split(String s)相当于 string.split(String s, int i) 而且 i=0的情况
    看string.split(String s, int i)的资料就知道
    i=0时,所有结尾的空string:""会被忽略 所以split(",")得到一个空的array
    i<0时,与i=0唯一的区别就是保留结尾的空string: ""
    i>0是,split i-1次, 得到一个长度为i的array试一下
    b=a.split(",")

    c=a.split(",",-1)就知道了
      

  6.   

    import java.util.*;
    import java.util.regex.*;public class demo {  public static void main(String[] agrs){
      String test = "form*resource_3800*ACCEPT_MAN";
      String[] temp = test.split("\\*");
      for (int i = 0;i < temp.length;i++){
    System.out.println(temp[i]);
      }
      }
    }
      

  7.   

    duracell说得对,建议这样做:String a=",,,,";
    String []c=a.split(",",-1);写-1可以得到实际的值.