扫描器对StringTokenizer与StringString.plit

扫描器对StringTokenizer与StringString.plit

我刚刚了解了Java的Scaner类,现在我想知道它是如何与StringTokenizer和Strings.plit进行比较/竞争的。我知道StringTokenizer和StringString.plit只在String上工作,所以我为什么要使用Scaner作为字符串呢?Scaner只是想一站式地为分手而购物吗?



喵喔喔
浏览 362回答 3
3回答

BIG阳

他们基本上是马匹。Scanner是为需要解析字符串、提取不同类型的数据的情况而设计的。它非常灵活,但可以说,它没有为您提供最简单的API来获取由特定表达式分隔的字符串数组。String.split()和Pattern.split()为执行后者提供一个简单的语法,但本质上这就是他们所做的一切。如果您想解析结果字符串,或者根据特定的令牌在中途更改分隔符,它们将不会对您有所帮助。StringTokenizer比String.split(),而且使用起来也有点花哨。它本质上是为提取由固定子字符串分隔的令牌而设计的。由于这个限制,它的速度大约是String.split()..(见我的比较String.split()和StringTokenizer)它还早于正则表达式api,其中的正则表达式apiString.split()是一部分。你会从我的时间里注意到String.split()仍然可以标记几千个字符串在几毫秒内在典型的机器上。此外,它还比StringTokenizer它以字符串数组的形式给出输出,这通常是您想要的。使用Enumeration,如StringTokenizer,在大多数情况下都是“语法上的挑剔”。从这个角度来看,StringTokenizer现在有点浪费空间了,你也可以用String.split().

catspeake

StringTokenzer总是在那里。这是最快的,但类似枚举的成语可能不像其他的那样优雅。Split是在JDK1.4上出现的。比令牌程序慢,但更容易使用,因为它可以从String类调用。扫描仪开始在JDK1.5上运行。它是最灵活的,填补了JavaAPI长期以来一直存在的空白,以支持类似于著名的Cscanf函数族。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java