我有一個關於StringTokenizer
類和java.util.Scanner
類之間的區別的問題嗎?雖然兩者都用於解剖(標記)目的。哪一個更好用,效率更高?這兩個Java類是相互替代還是具有不同的目的?StringTokenizer和java.util.Scanner之間有什麼區別
0
A
回答
1
從JavaDoc
:
的StringTokenizer是保留兼容性 原因,雖然它的使用是在新代碼氣餒的遺留類。建議 任何尋求此功能的人都使用字符串 或
java.util.regex
包的split
方法代替。
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類中調用,所以比標記器慢,但更易於使用。
相關問題
- 1. 是什麼的StringTokenizer的java的hasMoreElements和hasmoretokens之間的區別?
- 2. 使用StringTokenizer和String.split()之間的區別?
- 3. 「層」和「層」之間有什麼區別?
- 4. Tableau和QlikView之間有什麼區別
- 5. Microsoft.CompilerServices.AsyncTargetingPack和Microsoft.Bcl.Async之間有什麼區別?
- 6. @Entity和@embeddable之間有什麼區別
- 7. ContentObservable和DataSetObservable之間有什麼區別?
- 8. touchmove和gesturechange之間有什麼區別?
- 9. :notification.flags和notification.defaults之間有什麼區別?
- 10. proc和lambda之間有什麼區別?
- 11. :: after和after之間有什麼區別?
- 12. read()和io.read()之間有什麼區別?
- 13. Request()和Request.Form()之間有什麼區別?
- 14. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之間有什麼區別?
- 15. getA()和this.getA()之間有什麼區別?
- 16. (int)和intval()之間有什麼區別?
- 17. set_value和= pandas之間有什麼區別
- 18. * zoom和zoom之間有什麼區別?
- 19. {0}和「」之間有什麼區別?
- 20. typedef和using之間有什麼區別?
- 21. 「」和「'之間有什麼區別?
- 22. STDIN和tty之間有什麼區別?
- 23. +和%之間有什麼區別?
- 24. sysfs_create_file()和sysfs_create_group()之間有什麼區別?
- 25. Lazy.Force()和Lazy.Value之間有什麼區別
- 26. -existingObjectWithID:error:和-objectWithID之間有什麼區別?
- 27. ReleaseFloatArrayElements和DeleteLocalRef之間有什麼區別
- 28. AutomationProperties.AutomationID和AutomationProperties.Name之間有什麼區別?
- 29. gets()和getc()之間有什麼區別?
- 30. _id:ObjectID和String之間有什麼區別?
正如我在我的答案中所述,String.split在高負載應用程序中相當慢。 StringUtils.split的速度更快。 – SirVaulterScoff
我認爲java.util.regex.Pattern類的split方法會比兩個更好 – sns
它比StringUtils.split慢10倍左右。 – SirVaulterScoff