Класс StringTokenizer
- Все реализованные интерфейсы:
Enumeration<Object>
public class StringTokenizer extends Object implements Enumeration<Object>
StreamTokenizer. Методы StringTokenizer не различают идентификаторы, числа и строки в кавычках, а также не распознают и не пропускают комментарии. Набор разделителей (символы, разделяющие токены) может быть указан либо во время создания, либо для каждого токена.
Экземпляр StringTokenizer ведет себя одним из двух способов, в зависимости от того, был ли он создан с флагом returnDelims, имеющим значение true или false:
- Если флаг равен
false, символы-разделители служат для разделения токенов. Токен — это максимальная последовательность последовательных символов, которые не являются разделителями. - Если флаг равен
true, символы-разделители сами считаются токенами. Таким образом, токен — это либо один символ-разделитель, либо максимальная последовательность последовательных символов, которые не являются разделителями.
Объект StringTokenizer внутренне поддерживает текущую позицию в строке, подлежащей токенизации. Некоторые операции продвигают эту текущую позицию мимо обработанных символов.
Токен возвращается путем взятия подстроки из строки, которая использовалась для создания объекта StringTokenizer.
Вот один пример использования токенизатора. Код:
StringTokenizer st = new StringTokenizer("this is a test");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
выводит следующий вывод:
this
is
a
test
StringTokenizer — это устаревший класс, который сохраняется для совместимости, хотя его использование в новом коде не рекомендуется. Рекомендуется использовать метод split класса String или пакет java.util.regex вместо него.
Следующий пример иллюстрирует, как метод String.split можно использовать для разделения строки на основные токены:
String[] result = "this is a test".split("\\s");
for (int x=0; x<result.length; x++)
System.out.println(result[x]);
выводит следующий вывод:
this
is
a
test
- С момента:
- 1.0
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StringTokenizer |
Создает string tokenizer для указанной строки. |
StringTokenizer |
Создает string tokenizer для указанной строки. |
StringTokenizer |
Создает string tokenizer для указанной строки. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
countTokens() |
Вычисляет количество раз, которое можно вызвать метод nextToken этого токенизатора, прежде чем он сгенерирует исключение. |
boolean |
hasMoreElements() |
Возвращает то же значение, что и метод hasMoreTokens. |
boolean |
hasMoreTokens() |
Проверяет, доступны ли еще токены из строки этого токенизатора. |
Object |
nextElement() |
Возвращает то же значение, что и метод nextToken, за исключением того, что его объявленное возвращаемое значение равно Object, а не String. |
String |
nextToken() |
Возвращает следующий токен из этой строки токенизатора. |
String |
nextToken |
Возвращает следующий токен в строке string tokenizer. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе java.util.Enumeration
asIterator
Конструкторы
StringTokenizer
public StringTokenizer(String str, String delim, boolean returnDelims)
delim являются разделителями для разделения токенов. Если флаг returnDelims равен true, то символы-разделители также возвращаются как токены. Каждый разделитель возвращается как строка, содержащая один Unicode символ разделителя (который может состоять из одного или двух char). Если флаг равен false, символы-разделители пропускаются и служат только разделителями между токенами.
Обратите внимание, что если delim равен null, этот конструктор не вызывает исключение. Однако попытка вызвать другие методы на полученном StringTokenizer может привести к NullPointerException.
- Параметры:
-
str- строка, подлежащая разбору. -
delim- разделители. -
returnDelims- флаг, указывающий, нужно ли возвращать разделители как токены. - Исключения:
-
NullPointerException- если str являетсяnull
StringTokenizer
public StringTokenizer(String str, String delim)
delim являются разделителями для разделения токенов. Символы-разделители сами не обрабатываются как токены. Обратите внимание, что если delim равно null, этот конструктор не генерирует исключение. Однако попытка вызвать другие методы на полученном StringTokenizer может привести к NullPointerException.
- Параметры:
-
str- строка, подлежащая разбору. -
delim- разделители. - Исключения:
-
NullPointerException- если str являетсяnull
StringTokenizer
public StringTokenizer(String str)
" \t\n\r\f": пробела, табуляции, символа новой строки, возврата каретки и символа перевода страницы. Символы-разделители сами не обрабатываются как токены.- Параметры:
-
str- строка, подлежащая разбору. - Исключения:
-
NullPointerException- если str являетсяnull
Методы
hasMoreTokens
public boolean hasMoreTokens()
true, то последующий вызов nextToken без аргумента успешно вернёт токен.- Возвращает:
-
trueесли и только если в строке после текущей позиции есть хотя бы один токен;falseв противном случае.
nextToken
public String nextToken()
- Возвращает:
- следующий токен из этой строки токенизатора.
- Исключения:
-
NoSuchElementException- если в строке этого токенизатора больше нет токенов.
nextToken
public String nextToken(String delim)
StringTokenizer, изменяется на символы в строке delim. Затем возвращается следующий токен в строке после текущей позиции. Текущая позиция перемещается за распознанным токеном. Новый набор разделителей остаётся по умолчанию после этого вызова.- Параметры:
-
delim- новые разделители. - Возвращает:
- следующий токен после переключения на новый набор разделителей.
- Исключения:
-
NoSuchElementException- если в строке этого токенизатора больше нет токенов. -
NullPointerException- если delim являетсяnull
hasMoreElements
public boolean hasMoreElements()
hasMoreTokens. Он существует для того, чтобы этот класс мог реализовывать интерфейс Enumeration. - Определено в:
-
hasMoreElementsв интерфейсеEnumeration<Object> - Возвращает:
-
trueесли есть ещё токены;falseв противном случае. - См. также:
nextElement
public Object nextElement()
nextToken, за исключением того, что его объявленное значение возврата является Object, а не String. Он существует для того, чтобы этот класс мог реализовывать интерфейс Enumeration. - Определено в:
-
nextElementв интерфейсеEnumeration<Object> - Возвращает:
- следующий токен в строке.
- Исключения:
-
NoSuchElementException- если в строке этого токенизатора больше нет токенов. - См. также:
countTokens
public int countTokens()
nextToken этого токенизатора, прежде чем он сгенерирует исключение. Текущая позиция не изменяется.- Возвращает:
- количество оставшихся токенов в строке с использованием текущего набора разделителей.
- См. также:
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/StringTokenizer.html