`

类 StringTokenizer

 
阅读更多

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()
分享到:
评论

相关推荐

    Java常用类及集合操作

    Java常用类 Math类 String类 StringBuffer类 StringTokenizer类 包装类 集合操作 集合 列表(List) 映射(Map) Collections类 枚举和迭代

    JAVA StringBuffer类与StringTokenizer类代码解析

    主要介绍了JAVA StringBuffer类与StringTokenizer类代码解析,具有一定借鉴价值,需要的朋友可以参考下

    StringTokenizer(delphi版)

    用delphi实现java的StringTokenizer类的功能。在原来曾青松版本的基础上修复bug完成的。

    基于Java中的StringTokenizer类详解(推荐)

    下面小编就为大家带来一篇基于Java中的StringTokenizer类详解(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java编写一个程序,输入一行文本,采用StringTokenizer类的对象,将文本符号化,并以逆序输出语言符号。

    编写一个程序,输入一行文本,采用StringTokenizer类的对象,将文本符号化,并以逆序输出语言符号。

    JAVA常用类的使用方法

    介绍Java.lang中常用户类的使用方法,包括(Integer类、Float类 、Double类 、Character类 、String类 、StringTokenizer类 、StringBuffer类)。

    java常用类的使用方法

    java常用类的使用方法

    java常用类.rtf

    JAVA常用类的使用方法 1、Integer类 2、Float类 3、Double类 4、Character类 5、String类 6、StringTokenizer类 7、StringBuffer类 8、Random类 9、UIManage类

    java字符串分隔类

    StringTokenizer类的使用方法

    JAVA小论文(浅谈String类)

    Java提供了String类,StringBuffer类和StringTokenizer类来存储和处理字符串。大多数情况下,可以使用String类来创建字符串。

    java常用类使用方法

    1、Integer类 2、Float类 3、Double类 4、Character类 5、String类 6、StringTokenizer类 7、StringBuffer类

    单片机外围电路设计及C语言编程视频教程

     5)字符串、常用方法、基本数据的互相转化,对象的字符串表示、StringTokenizer类、字符串与字符、字节数组,StringBuffer类。  6)Date类、Calendar类、Math类、BigInteger类。  7) Java Applet基础,Applet...

    Scanner类的用法

    Scanner类的用法-java.util.Scanner类,这是一个用于扫描输入文本的新...它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。

    字符串正则表达式PPT

    了解Object类 掌握 String 类用法 掌握StringBuffer类用法 掌握StringTokenizer类用法 了解正则表达式

    上机实验-2 (1).doc

    //私有类,其他类不能享用 private final JTextPane numberField;//容器类 private final JTextField sumyun;//创建对象 private final JTextField aveField; public static void main(final String[] args) {...

    收集几个常用的JAVA J2ME类库.rar

    StringTokenizer.java:StringTokenizer类;  3. SimpleCache.java:Cache类;  4. MD5Digest.java:J2ME MD5算法类;  5. Blowfish.java:J2ME的Blowfish加密类;  平时若要用到这些文件,直接引入相关...

    Java2实用教程.rar

    5 5StringTokenizer类 5 6字符串与字符 字节数组 5 7StringBuffer类 5 8正则表达式 习题 第6章时间 日期和数字 6 1Date类 6 2Calendar类 6 3Math类 6 4BigInteger类 习题 第7章AWT组件及事件处理 7 1Java窗口 7 1 1 ...

    熟练掌握字符串处理技术

    熟并掌握string类、stringbuffer类和stringtokenizer类中的方法,并对字符串变量进行操作 要求对一个java程序进行简单的词法分析,找出其中用到的关键字、变量名、方法名以及操作运算符,并分别把它们打印出来

    java编程基础,应用与实例

    15.4 java.util.StringTokenizer类 238 15.5 java.util.Calendar类 240 15.6 巩固练习 242 第16章 AWT程序设计 244 16.1 java.awt.Component类 244 16.2 java.awt.Container类 247 16.3 布局管理器 ...

Global site tag (gtag.js) - Google Analytics