在se中用惯了的StringTokenizer,在ME中没有了.怎么办呢,分割好的字符串是不得不解析的,老板交代的任务是要做的:).本来想自己土法上马做一个,可是"重新发明轮子",好像不是那么高明,先用google找了找,果然有高人已经实现了.代码在下面:
importjava.util.*;
publicclassStringTokenizerimpleMEntsMEration.java.html" target="_blank" />EnuMEration
{
privatevoidsetMaxDelimChar()
{
if(delimiters==null)
{
maxDelimChar='/0';
return;
}
charc='/0';
for(inti=0;i
{
charc1=delimiters.charAt(i);
if(c
c=c1;
}
maxDelimChar=c;
}
publicStringTokenizer(Strings,Strings1,booleanflag)
{
currentPosition=0;
newPosition=-1;
delimsChanged=false;
str=s;
maxPosition=s.length();
delimiters=s1;
retDelims=flag;
setMaxDelimChar();
}
publicStringTokenizer(Strings,Strings1)
{
this(s,s1,false);
}
publicStringTokenizer(Strings)
{
this(s,"/t/n/r/f",false);
}
privateintskipDelimiters(inti)
{
if(delimiters==null)
thrownewNullPointerException();
intj;
for(j=i;!retDelims&&j
{
charc=str.charAt(j);
if(c>maxDelimChar||delimiters.indexOf(c)<0)
break;
}
returnj;
}
privateintscanToken(inti)
{
intj;
for(j=i;j
{
charc=str.charAt(j);
if(c<=maxDelimChar&&delimiters.indexOf(c)>=0)
break;
}
if(retDelims&&i==j)
{
charc1=str.charAt(j);
if(c1<=maxDelimChar&&delimiters.indexOf(c1)>=0)
j++;
}
returnj;
}
publicbooleanhasMoreTokens()
{
newPosition=skipDelimiters(currentPosition);
returnnewPosition
}
{
currentPosition=newPosition<0||delimsChanged?skipDelimiters(currentPosition):newPosition;
delimsChanged=false;
newPosition=-1;
if(currentPosition>=maxPosition)
{
thrownewMEntexception.java.html" target="_blank" />NoSuchEleMEntException();
}else
{
inti=currentPosition;
currentPosition=scanToken(currentPosition);
returnstr.substring(i,currentPosition);
}
}
publicStringnextToken(Strings)
{
delimiters=s;
delimsChanged=true;
setMaxDelimChar();
returnnextToken();
}
publicbooleanhasMoreEleMEnts()
{
returnhasMoreTokens();
}
publicObjectnextEleMEnt()
{
returnnextToken();
}
publicintcountTokens()
{
inti=0;
for(intj=currentPosition;j
{
j=skipDelimiters(j);
if(j>=maxPosition)
break;
j=scanToken(j);
i++;
}
returni;
}
privateintcurrentPosition;
privateintnewPosition;
privateintmaxPosition;
privatebooleanretDelims;
privatebooleandelimsChanged;
privatecharmaxDelimChar;
}
原文在这里:http://wap.tutorials.de/t-127933.
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>