|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.util.StringTokenizer
public class StringTokenizer
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 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或 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)
为指定字符串构造一个 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 |
| 构造方法详细信息 |
|---|
public StringTokenizer(String str,
String delim,
boolean returnDelims)
delim 参数中的所有字符都是分隔标记的分隔符。
如果 returnDelims 标志为 true,则分隔符字符也作为标记返回。每个分隔符都作为一个长度为 1 的字符串返回。如果标志为 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 - 如果此 tokenizer 的字符串中没有更多标记。public String nextToken(String delim)
delim - 新的分隔符。
NoSuchElementException - 如果此 tokenizer 的字符串中没有更多标记。
NullPointerException - 如果 delim 为 null。public boolean hasMoreElements()
hasMoreTokens 方法相同的值。它的存在使得此类可以实现 Enumeration 接口。
Enumeration<Object> 中的 hasMoreElementstrue;否则为 false。Enumeration,
hasMoreTokens()public Object nextElement()
Object 而不是 String 之外,它返回与 nextToken 方法相同的值。它的存在使得此类可以实现 Enumeration 接口。
Enumeration<Object> 中的 nextElementNoSuchElementException - 如果此 tokenizer 的字符串中没有更多标记。Enumeration,
nextToken()public int countTokens()
nextToken 方法的次数。当前位置没有提前。
nextToken()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。