当前位置: 首页 > 面试题库 >

Java 扫描程序与StringTokenizer与String.Split

经国安
2023-03-14
问题内容

我刚刚了解了Java的Scanner类,现在我想知道它如何与StringTokenizer和String.Split进行比较/竞争。我知道StringTokenizer和String.Split仅适用于字符串,那么为什么要对字符串使用扫描器?扫描仪是否仅打算一站式进行拆分


问题答案:

他们本质上是课程的马。

  • Scanner设计用于需要解析字符串,提取不同类型数据的情况。它非常灵活,但是可以说它并没有给你提供最简单的API来简单地获取由特定表达式分隔的字符串数组
  • String.split()Pattern.split()为你提供了执行后者的简单语法,但这实际上就是他们所做的全部。如果你想解析结果字符串,或根据特定标记在中途更改定界符,它们将无济于事。
  • StringTokenizer比更具限制性String.split(),并且使用起来也比较麻烦。它本质上是为提取由固定子字符串分隔的令牌而设计的。由于此限制,速度约为的两倍String.split()。(请参阅与String.split()和的比较StringTokenizer。)它也早于正则表达式API,而正则表达式API是其中String.split()的一部分。
    你会从我的计时中注意到,在典型的机器上,String.split()它仍然可以在几毫秒内标记成千上万个字符串。此外,它的优点还StringTokenizer在于它可以将输出作为字符串数组提供给你,这通常是你想要的。在大多数情况下,使用Enumeration所提供的StringTokenizer,在语法上过于挑剔。从这个角度来看,StringTokenizer如今有点浪费空间,你不妨使用String.split()


 类似资料:
  • 问题内容: 据我所知,在Java中从文件读取基于字符的数据的两种最常见的方法是使用或。我也知道通过使用缓冲区来避免物理磁盘操作来有效地读取文件。我的问题是: 是否执行以及? 为什么你会选择在反之亦然? 问题答案: 用于从流的内容中解析令牌,而只是读取流,并且不执行任何特殊的解析。 实际上,你可以将传递给作为要解析的字符源。

  • 我必须把句子中每个单词的第一个字符大写。第一个单词的第一个字符是大写的,句子只能以句号或问号结尾。然后我要数一数句子中每个单词的元音和辅音。 这是我的代码: 这个类名很奇怪,因为这是我计算机考试中问的一个问题。 程序在某种程度上正常工作,但由于某种原因,我在中的

  • 我正在运行以下版本的声纳扫描: 蚂蚁v3。0.5 声纳v4。5.4 声纳蚂蚁任务v2。三, 我的ant项目包含100个子模块;其中大约一半有外部库,一半没有 在我的ant构建文件中,设置了以下声纳属性: 上面提到的最初问题是,对于没有外部lib的模块,它会失败,因为编译后/build/dependency中没有jar。 根据这个存档链接:http://sonarqube-archive.15.x6

  • 对于何时选择GSI或其他方式的全表扫描,是否有任何衡量标准? 我知道两者背后的基本概念,但GSI的定价模型非常依赖于表格本身,我很难决定 更重要的是,如何在不同的表大小下进行扩展,或者多少扫描效率太低,而需要GSI 顺便说一下,我很难找到好的资源来过滤表达式,以便在dynamodb上进行查询和扫描,有什么好的建议吗?(“#v

  • 我正在Android平板电脑上创建一个应用程序,需要扫描条形码并获得结果。我使用的平板电脑有内置扫描仪和摄像头。 我曾尝试使用Zstar Lib,但这使用平板电脑上的摄像头,而不是调用扫描仪。 如何从我的应用程序中找到直接调用扫描仪所需的实际意图? 平板电脑上预装了一个条形码实用程序应用程序,有一个用于捕获条形码数据的基本屏幕,我想我可能应该在我的应用程序中通过Intent来调用它。但是,我如何知