java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

java.util
类 StringTokenizer

java.lang.Object
  继承者 java.util.StringTokenizer
所有已实现的接口:
Enumeration<Object>

public class StringTokenizer
extends Object
implements Enumeration<Object>

string tokenizer 类允许应用程序将字符串分解为标记。tokenization 方法比 StreamTokenizer 类所使用的方法更简单。StringTokenizer 方法不区分标识符、数和带引号的字符串,它们也不识别并跳过注释。

可以在创建时指定,也可以根据每个标记来指定分隔符(分隔标记的字符)集合。

StringTokenizer 的实例有两种行为方式,这取决于它在创建时使用的 returnDelims 标志的值是 true 还是 false

  • 如果标志为 false,则分隔符字符用来分隔标记。标记是连续字符(不是分隔符)的最大序列。
  • 如果标志为 true,则认为那些分隔符字符本身即为标记。因此标记要么是一个分隔符字符,要么是那些连续字符(不是分隔符)的最大序列。

StringTokenizer 对象在内部维护字符串中要被标记的当前位置。某些操作将此当前位置移至已处理的字符后。

通过截取字符串的一个子串来返回标记,该字符串用于创建 StringTokenizer 对象。

下面是一个使用 tokenizer 的实例。代码如下:

     StringTokenizer st = new StringTokenizer("this is a test");
     while (st.hasMoreTokens()) {
         System.out.println(st.nextToken());
     }
 

输出以下字符串:

     this
     is
     a
     test
 

StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 Stringsplit 方法或 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
 

从以下版本开始:
JDK1.0
另请参见:
StreamTokenizer

构造方法摘要
StringTokenizer(String str)
          为指定字符串构造一个 string tokenizer。
StringTokenizer(String str, String delim)
          为指定字符串构造一个 string tokenizer。
StringTokenizer(String str, String delim, boolean returnDelims)
          为指定字符串构造一个 string tokenizer。
 
方法摘要
 int countTokens()
          计算在生成异常之前可以调用此 tokenizer 的 nextToken 方法的次数。
 boolean hasMoreElements()
          返回与 hasMoreTokens 方法相同的值。
 boolean hasMoreTokens()
          测试此 tokenizer 的字符串中是否还有更多的可用标记。
 Object nextElement()
          除了其声明返回值是 Object 而不是 String 之外,它返回与 nextToken 方法相同的值。
 String nextToken()
          返回此 string tokenizer 的下一个标记。
 String nextToken(String delim)
          返回此 string tokenizer 的字符串中的下一个标记。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

StringTokenizer

public StringTokenizer(String str,
                       String delim,
                       boolean returnDelims)
为指定字符串构造一个 string tokenizer。delim 参数中的所有字符都是分隔标记的分隔符。

如果 returnDelims 标志为 true,则分隔符字符也作为标记返回。每个分隔符都作为一个长度为 1 的字符串返回。如果标志为 false,则跳过分隔符,只是用作标记之间的分隔符。

注意,如果 delimnull,则此构造方法不抛出异常。但是,尝试对得到的 StringTokenizer 调用其他方法则可能抛出 NullPointerException

参数:
str - 要分析的字符串。
delim - 分隔符。
returnDelims - 指示是否将分隔符作为标记返回的标志。
抛出:
NullPointerException - 如果 str 为 null

StringTokenizer

public StringTokenizer(String str,
                       String delim)
为指定字符串构造一个 string tokenizer。delim 参数中的字符都是分隔标记的分隔符。分隔符字符本身不作为标记。

注意,如果 delimnull,则此构造方法不抛出异常。但是,尝试对得到的 StringTokenizer 调用其他方法则可能抛出 NullPointerException

参数:
str - 要分析的字符串。
delim - 分隔符。
抛出:
NullPointerException - 如果 str 为 null

StringTokenizer

public StringTokenizer(String str)
为指定字符串构造一个 string tokenizer。tokenizer 使用默认的分隔符集合 " \t\n\r\f",即:空白字符、制表符、换行符、回车符和换页符。分隔符字符本身不作为标记。

参数:
str - 要分析的字符串。
抛出:
NullPointerException - 如果 str 为 null
方法详细信息

hasMoreTokens

public boolean hasMoreTokens()
测试此 tokenizer 的字符串中是否还有更多的可用标记。如果此方法返回 true,那么后续调用无参数的 nextToken 方法将成功地返回一个标记。

返回:
当且仅当该字符串中当前位置后至少有一个标记时才为 true;否则为 false

nextToken

public String nextToken()
返回此 string tokenizer 的下一个标记。

返回:
此 string tokenizer 的下一个标记。
抛出:
NoSuchElementException - 如果此 tokenizer 的字符串中没有更多标记。

nextToken

public String nextToken(String delim)
返回此 string tokenizer 的字符串中的下一个标记。首先,字符集合被更改为字符串 delim 中的字符,该字符集合被认为是 StringTokenizer 对象的分隔符。接着返回字符串中当前位置之后的下一个标记。当前位置被提前到所识别的标记前。进行此调用后新的分隔符集合仍然保持默认值。

参数:
delim - 新的分隔符。
返回:
转换到新的分隔符集后的下一个标记。
抛出:
NoSuchElementException - 如果此 tokenizer 的字符串中没有更多标记。
NullPointerException - 如果 delim 为 null

hasMoreElements

public boolean hasMoreElements()
返回与 hasMoreTokens 方法相同的值。它的存在使得此类可以实现 Enumeration 接口。

指定者:
接口 Enumeration<Object> 中的 hasMoreElements
返回:
如果有更多标记,则为 true;否则为 false
另请参见:
Enumeration, hasMoreTokens()

nextElement

public Object nextElement()
除了其声明返回值是 Object 而不是 String 之外,它返回与 nextToken 方法相同的值。它的存在使得此类可以实现 Enumeration 接口。

指定者:
接口 Enumeration<Object> 中的 nextElement
返回:
字符串中的下一个标记。
抛出:
NoSuchElementException - 如果此 tokenizer 的字符串中没有更多标记。
另请参见:
Enumeration, nextToken()

countTokens

public int countTokens()
计算在生成异常之前可以调用此 tokenizer 的 nextToken 方法的次数。当前位置没有提前。

返回:
使用当前分隔符集的字符串中剩余的标记数。
另请参见:
nextToken()

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策