2011-10-26 30 views

回答

1

JavaDoc

的StringTokenizer是保留兼容性 原因,雖然它的使用是在新代碼氣餒的遺留類。建議 任何尋求此功能的人都使用字符串 或java.util.regex包的split方法代替。

+0

正如我在我的答案中所述,String.split在高負載應用程序中相當慢。 StringUtils.split的速度更快。 – SirVaulterScoff

+0

我認爲java.util.regex.Pattern類的split方法會比兩個更好 – sns

+0

它比StringUtils.split慢10倍左右。 – SirVaulterScoff

1

一個大區別是,掃描儀可以對輸入流進行操作,所以你並不需要有它在內存中的所有一次(在某些情況下甚至是不可能的,例如當連續讀取用戶輸入一個控制檯)。

2

從StringTokenizer類的javadoc

string tokenizer類允許應用程序將字符串分解成 令牌.... StringTokenizer的方法不中 標識符,數字區分,並引述串...

來自掃描儀的Javadoc

一個簡單的文本掃描器可以解析原始典型值es和字符串 使用正則表達式。

所以掃描儀不同的StringTokenizer有像nextInt,nextBoolean等 方法雖然掃描儀是有用的在某些情況下,當你需要分析用戶輸入containig數字的StringTokenizer在大多數情況下,可以用org.apache.commons更換。 lang.StringUtils.split - 它不使用正則表達式,速度非常快。

1

掃描儀設計用於需要解析字符串,提取不同類型數據的情況。如果要從程序之外的源解析文本數據,例如從文件或用戶解析文本數據,那就是掃描儀派上用場。

StringTokenizer總是在那裏。它是所有人中速度最快的,但類似枚舉的習語看起來可能不像其他人那樣優雅。

拆分在JDK 1.4上存在。因爲它可以從String類中調用,所以比標記器慢,但更易於使用。

相關問題