public int getCount(String str,String sign){//查找某一字符串中str,特定子串s的出现次数
      if(str==null) return 0;
      StringTokenizer s=new StringTokenizer(str,sign);
      return s.countTokens();
  }
public String[] getArray(String str,String sign){//按特定子串s为标记,将子串截成数组。
    int count=getCount(str,sign);
    int j=0;
    String[] arr=new String[count];
    for(int i=0;i<count;i++){
       if(str.indexOf(sign)!=-1){
            j     =str.indexOf(sign);
            arr[i]=str.substring(0,j);
            str   =str.substring(j+1);
        }else{
            arr[i]=str;
        }
    }
    return arr;}

解决方案 »

  1.   

    public static String[] split(String source){
        if(source==null||source.trim().equals(""))
          return null;
        StringTokenizer commaToker =  new StringTokenizer(source,",");
        String[] result = new String[commaToker.countTokens()];
        int i=0;
        while(commaToker.hasMoreTokens()){
          result[i] = commaToker.nextToken();
          i++;
        }
        return result;
      }
      

  2.   

    String[] s;
    StringTokenizer st = new StringTokenizer('sadas,sadsad,ddasdwq,dwqd',",");
           s=new String[st.countTokens()];
           for(int i=0;st.hasMoreTokens();i++)
           {s[i]=st.nextToken();
           }
      

  3.   

    取数组长度与上同
    String seperator = ",";
    int i=0,j=0;
    for(int k=0;k<count;k++){
    j = line.indexOf(seperator,i);
    if(j==-1){
     val = line.substring(i,line.length());
    }else{
     val = line.substring(i,j);
    }
    i = j+seperator.length();
    }