Spec-Zone .ru
спецификации, руководства, описания, API
|
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
StreamTokenizer
Конструктор и Описание |
---|
StringTokenizer(String str)
Создает строковый токенизатор для указанной строки.
|
StringTokenizer(String str, String delim)
Создает строковый токенизатор для указанной строки.
|
StringTokenizer(String str, String delim, boolean returnDelims)
Создает строковый токенизатор для указанной строки.
|
Модификатор и Тип | Метод и Описание |
---|---|
int |
countTokens()
Вычисляет число раз что этот токенизатор
nextToken метод можно вызвать прежде, чем он генерирует исключение. |
boolean |
hasMoreElements()
Возвращает то же самое значение как
hasMoreTokens метод. |
boolean |
hasMoreTokens()
Тесты, если есть больше маркеров, доступных от строки этого токенизатора.
|
Объект |
nextElement()
Возвращает то же самое значение как
nextToken метод, за исключением того, что его объявленное возвращаемое значение Object вместо String . |
Строка |
nextToken()
Возвращает следующий маркер из этого строкового токенизатора.
|
Строка |
nextToken(String delim)
Возвращает следующий маркер в этой строковой строке токенизатора.
|
public StringTokenizer(String str, String delim, boolean returnDelims)
delim
параметром являются разделители для того, чтобы разделить маркеры. Если returnDelims
флаг true
, тогда символы-разделители также возвращаются как маркеры. Каждый разделитель возвращается как строка длины один. Если флаг false
, символы-разделители пропускаются и только служат разделителями между маркерами.
Отметьте, что, если delim является null, этот конструктор не выдает исключение. Однако, попытка вызвать другие методы на получающийся StringTokenizer может привести к NullPointerException.
str
- строка, которая будет проанализирована.delim
- разделители.returnDelims
- флаг, указывающий, возвратить ли разделители как маркеры.NullPointerException
- если str null
public StringTokenizer(String str, String delim)
delim
параметром являются разделители для того, чтобы разделить маркеры. Сами символы-разделители не будут обработаны как маркеры. Отметьте, что, если delim является null, этот конструктор не выдает исключение. Однако, попытка вызвать другие методы на получающийся StringTokenizer может привести к NullPointerException.
str
- строка, которая будет проанализирована.delim
- разделители.NullPointerException
- если str null
public StringTokenizer(String str)
" \t\n\r\f"
: пробел, символ вкладки, символ новой строки, символ возврата каретки, и символ перевода формата. Сами символы-разделители не будут обработаны как маркеры.str
- строка, которая будет проанализирована.NullPointerException
- если str null
public boolean hasMoreTokens()
true
если и только если есть по крайней мере один маркер в строке после текущей позиции; false
иначе.public String nextToken()
NoSuchElementException
- если нет больше маркеров в строке этого токенизатора.public String nextToken(String delim)
delim
- новые разделители.NoSuchElementException
- если нет больше маркеров в строке этого токенизатора.NullPointerException
- если delim null
public boolean hasMoreElements()
hasMoreTokens
метод. Это существует так, чтобы этот класс мог реализовать Enumeration
интерфейс.hasMoreElements
в интерфейсе Enumeration<Object>
true
если есть больше маркеров; false
иначе.Enumeration
, hasMoreTokens()
public Object nextElement()
nextToken
метод, за исключением того, что его объявленное возвращаемое значение Object
вместо String
. Это существует так, чтобы этот класс мог реализовать Enumeration
интерфейс.nextElement
в интерфейсе Enumeration<Object>
NoSuchElementException
- если нет больше маркеров в строке этого токенизатора.Enumeration
, nextToken()
public int countTokens()
nextToken
метод можно вызвать прежде, чем он генерирует исключение. Текущая позиция не совершенствуется.nextToken()
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.