code: public static ArrayList<String> split(String source, String separator, boolean removeEmpty) {
          if (source == null || source.isEmpty())
              return null;
  
          ArrayList<String> values = new ArrayList<String>();
          if (separator == null || separator.isEmpty()) {
              values.add(source);
              return values;
          }
  
          String tmpStr = new String(source);
  
          int idx = 0;
          String tt;
          while (true) {
              int tmp = tmpStr.indexOf(separator, idx);
              if (tmp == -1) {
                  tt = tmpStr.substring(idx);
  
                  if (tt != null && !tt.isEmpty())
                      values.add(tmpStr.substring(idx));
  
                  break;
              }
  
              tt = tmpStr.substring(idx, tmp);
              if (tt != null && !tt.isEmpty())
                  values.add(tmpStr.substring(idx, tmp));
  
              idx = tmp + separator.length();
          }
  
          return values;
      }
docs: 进行分割, 不支持正则式.
  
  @param source
  @param separator
  @param removeEmpty
  @return