Spec-Zone.ru › OpenJDK 25

Класс StringTokenizer

java.lang.Object
java.util.StringTokenizer
Все реализованные интерфейсы:
Enumeration<Object>
public class StringTokenizer extends Object implements Enumeration<Object>
Класс string tokenizer позволяет приложению разбивать строку на токены. Метод токенизации намного проще, чем метод, используемый классом 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 (String r : result)
        System.out.println(r);

выводит следующий результат:

    this
    is
    a
    test
Начиная с версии:
1.0
См. также:
  • StreamTokenizer

Краткое описание конструкторов

Конструктор Описание
StringTokenizer(String str)
Создает токенизатор строк для указанной строки.
StringTokenizer(String str, String delim)
Создает токенизатор строк для указанной строки.
StringTokenizer(String str, String delim, boolean returnDelims)
Создает токенизатор строк для указанной строки.

Краткое описание методов

Модификатор и тип Метод Описание
int countTokens()
Вычисляет, сколько раз метод nextToken этого токенизатора может быть вызван до того, как он сгенерирует исключение.
boolean hasMoreElements()
Возвращает то же значение, что и метод hasMoreTokens.
boolean hasMoreTokens()
Проверяет, доступны ли еще токены из строки этого токенизатора.
Object nextElement()
Возвращает то же значение, что и метод nextToken, за исключением того, что объявленным возвращаемым значением является Object, а не String.
String nextToken()
Возвращает следующий токен из этого токенизатора строк.
String nextToken(String delim)
Возвращает следующий токен в строке этого токенизатора строк.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе 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.
См. также:
  • Enumeration
  • hasMoreTokens()

nextElement

public Object nextElement()
Возвращает то же значение, что и метод nextToken, за исключением того, что объявленным возвращаемым значением является Object, а не String. Он существует для того, чтобы этот класс мог реализовать интерфейс Enumeration.
Указано в:
nextElement в интерфейсе Enumeration<Object>
Возвращает:
следующий токен в строке.
Выбрасывает:
NoSuchElementException - если в строке этого токенизатора больше нет токенов.
См. также:
  • Enumeration
  • nextToken()

countTokens

public int countTokens()
Вычисляет, сколько раз метод nextToken этого токенизатора может быть вызван до того, как он сгенерирует исключение. Текущая позиция не смещается.
Возвращает:
количество токенов, оставшихся в строке с использованием текущего набора разделителей.
См. также:
  • nextToken()

Сообщить об ошибке или предложить улучшение
Для получения дополнительной справочной информации по API и документации для разработчиков см. документацию по Java SE, которая содержит более подробные описания, предназначенные для разработчиков, с концептуальными обзорами, определениями терминов, обходными путями и рабочими примерами кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком компании Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой перераспространения документации.

© 1993, 2025, 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/25/docs/api/java.base/java/util/StringTokenizer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API