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

如何将for-each循环应用于字符串中的每个字符?

寿子轩
2023-03-14
问题内容

因此,我想为字符串中的每个字符进行迭代。

所以我认为:

for (char c : "xyz")

但出现编译器错误:

MyClass.java:20: foreach not applicable to expression type

我怎样才能做到这一点?


问题答案:

为,每每最简单的方法char在一个String是使用toCharArray()

for (char ch: "xyz".toCharArray()) {
}

这为您提供了for-
each构造的简洁性,但是不幸的是String(这是不可变的)必须执行防御性复制才能生成char[](是可变的),因此要付出一定的代价。

从文档中:

[ toCharArray()返回] 一个新分配的字符数组, 其长度是此字符串的长度,并且其内容已初始化为包含此字符串表示的字符序列。

还有更多详细的方法可以遍历数组中的字符(常规用于循环CharacterIterator等),但是如果您愿意为此付出代价toCharArray(),则每个方法最简洁。



 类似资料:
  • 问题内容: 我需要逐行流式读取python中的输入文本文件。这意味着将文本文件逐行而不是一次全部加载到内存中。但是我的行定界符不是空格,它们是任意字符。 这是用于逐行加载文件的方法: 上面是完美的,但是我需要将定界符从空格更改为其他字符。 如何才能做到这一点?谢谢。 问题答案: import re def open_delimited(filename, delimiter, chunksize=

  • 我正在尝试识别使用for循环提供的输入中是否有数字。我已经尝试了很长时间,甚至在Google的第二页上进行了搜索。我决定寻求一些帮助。到目前为止,我已经尝试了以下内容: 基本上,我试着扫描每个字母,然后分别测试它们是字母还是数字,这就是我遇到的问题,因为只扫描第一个字母。我也试着在循环中输入“c”。我怎么扫描每封信? 编辑:哎呀,那是个错误。我把它改成c=c 1,但它不起作用,我把它改回c,但它最

  • For Each循环用于为数组或集合中的每个元素执行语句或一组语句。 For Each循环类似于For循环; 但是,为数组或组中的每个元素执行循环。 因此,步进计数器将不存在于这种类型的循环中。 它主要用于数组或在File系统对象的上下文中使用,以便递归操作。 语法 (Syntax) 以下是VBA中For Each循环的语法。 For Each element In Group [state

  • 对于以下字符串,大小输出不正确。为什么会这样?我该如何解决? 我试着逐字符遍历str,这样我就可以把它读入向量

  • 问题内容: 我必须读取字符串并仅使用for循环输出每个字母的频率。讲师暗示我需要使用两个循环,并向我们提供了以下代码: 编辑: 我想我会死于这个问题,并发布一年前找到的解决方案,原因是该问题的点击率很高。 问题答案: