|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.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"
,即:空白字元、製表符、換行符、回車(Enter)符和換頁符。分隔符字元本身不作為標記。
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>
中的 hasMoreElements
true
;否則為 false
。Enumeration
,
hasMoreTokens()
public Object nextElement()
Object
而不是 String
之外,它返回與 nextToken
方法相同的值。它的存在使得此類別可以實作 Enumeration
介面。
Enumeration<Object>
中的 nextElement
NoSuchElementException
- 如果此 tokenizer 的字元串中沒有更多標記。Enumeration
,
nextToken()
public int countTokens()
nextToken
方法的次數。當前位置沒有提前。
nextToken()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。