我有一个关于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