该方法是用来判断是否还有分隔符。
举个例子:
public class StringTest {
public static void main(String[] args) {
StringTokenizer st = new StringTokenizer("www.tianheyu.top", ".");
while (st.hasMoreTokens()) {
System.out.println("Token:" + st.nextToken());
}
}
}
返回结果如下:
Token:www
Token:tianheyu
Token:top
源码如下:
public boolean hasMoreTokens() {
newPosition = skipDelimiters(currentPosition);
return (newPosition < maxPosition);
}
private int skipDelimiters(int startPos) {
if (delimiters == null)
throw new NullPointerException();
int position = startPos;
while (!retDelims && position < maxPosition) {
if (!hasSurrogates) {
char c = str.charAt(position);
if ((c > maxDelimCodePoint) || (delimiters.indexOf(c) < 0))
break;
position++;
} else {
int c = str.codePointAt(position);
if ((c > maxDelimCodePoint) || !isDelimiter(c)) {
break;
}
position += Character.charCount(c);
}
}
return position;
}