Kotlin:For循环范围必须有一个' iterator()'方法

时间:2017-07-06 02:59:39

标签: kotlin

如果我使用var charSet = 1..10它可行,但当我使用以下代码时,我收到此错误。

var charSet = "A".."Z"
for (value in charSet) {    
  println("$value")  
}
  

For循环范围必须有一个' iterator()'方法

请告诉我如何解决此问题。

3 个答案:

答案 0 :(得分:5)

charSetClosedRange<String>,该类型没有iterator()函数(但是,例如IntRange)。您可以将范围更改为'A'..'Z',也可以创建一个返回ClosedRange<String>.iterator()的扩展函数Iterator。然后该错误就会消失

答案 1 :(得分:4)

给出当前输出。将双引号改为单引号

{{1}}

答案 2 :(得分:2)

要声明一个字符串,我们使用双引号并声明一个字符,我们使用单引号。您可以遍历字符而不是字符串。当您将引号更改为单引号时,您的代码将完美运行。