code: protected static List<AtomNode> quickAtomSegment(char[] charArray, int start, int end)
      {
          List<AtomNode> atomNodeList = new LinkedList<AtomNode>();
          int offsetAtom = start;
          int preType = CharType.get(charArray[offsetAtom]);
          int curType;
          while (++offsetAtom < end)
          {
              curType = CharType.get(charArray[offsetAtom]);
              if (curType != preType)
              {
                  // 浮点数识别
                  if (preType == CharType.CT_NUM && "，,．.".indexOf(charArray[offsetAtom]) != -1)
                  {
                      if (offsetAtom+1 < end)
                      {
                          int nextType = CharType.get(charArray[offsetAtom+1]);
                          if (nextType == CharType.CT_NUM)
                          {
                              continue;
                          }
                      }
                  }
                  atomNodeList.add(new AtomNode(new String(charArray, start, offsetAtom - start), preType));
                  start = offsetAtom;
              }
              preType = curType;
          }
          if (offsetAtom == end)
              atomNodeList.add(new AtomNode(new String(charArray, start, offsetAtom - start), preType));
  
          return atomNodeList;
      }
docs: 快速原子分词，希望用这个方法替换掉原来缓慢的方法
  
  @param charArray
  @param start
  @param end
  @return