10000011011101011101110000011111000000001010100100000000        我想咨询一下高手是怎样把左面这串数据分割成除了最后6个0为一个数组,前面都是以5个字符为一个数组的方法。我的想法就是用subString  但是我觉得效率太低了有好的方法和思路吗??

解决方案 »

  1.   

    substring也不慢啊。你也可以先toChartArray()再new String(array, offset, len)这样来生成,应该差不多的效率
      

  2.   


    String cang  ="10000011011101011101110000011111000000001010100100000000";
    System.out.println(cang.length());
    char bb[]=cang.toCharArray(); java.util.List list1 = new java.util.ArrayList(); 
    //String str2[]=new String [(cang.length()-6)/5+1];
    for(int j=0;j<(cang.length()-6)/5;j++){
    String str1=new String(bb,j*5,5);
    list1.add(str1);
    }
    list1.add(new String(bb,cang.length()-6,6));
    //System.out.println(cang);
    for(int k=0;k<(cang.length()-1)/5;k++){
    // System.out.println("显示结果"+k+":"+list1.get(k));
    System.out.println(list1.get(k));
    }
    //我新手 可能比较麻烦 随便看下 按照上面回复的方法做的