StringTokenizer类

本文详细介绍了StringTokenizer类的构造方法及核心方法,如hasMoreTokens、nextToken等,并提供了实例代码帮助理解如何使用StringTokenizer进行字符串分隔。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

API中解释如下:
--------------
StringTokenizer
public StringTokenizer(String str,
                       String delim)
为指定字符串构造一个 string tokenizer。delim 参数中的字符都是分隔标记的分隔符。分隔符字符本身不作为标记。
 注意,如果 delim 为 null,则此构造方法不抛出异常。但是,尝试对得到的 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()

===================================================



StringTokenizer string = new StringTokenizer(dataStr, " ");  
  //定义一个StringTokenizer,以" "为分隔符分隔dataStr 
  while(string.hasMoreTokens())   {  
  value[i] = Integer.parseInt(string.nextToken());  
  //string的nextToken方法返回被分隔符分开的字符串  
   
  举个例子:dateString="one two   three"  
  value[i]里存放的是就是按" "分隔开的one, two, three 
  即:value[0]=one,value[1]=two............  
   
  jdk1.4里可以用String类的split方法完成同样的功能 


         StringTokenizer string = new StringTokenizer("one two ghree"," ");
            while (string.hasMoreTokens()) {
                System.out.print(tring.nextToken());
            } //去掉间隔字符,直接输出。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值