技术开发 频道

实战 Groovy: for each 剖析

  String 迭代

  现在您已经熟悉 each() 方法了,它可以出现在所有相关的位置。假设您希望迭代一个 String,并且是逐一迭代字符,那么马上可以使用 each() 方法。如清单 12 所示:

  清单 12. String 迭代  

def name = "Jane Smith"

  name.each{letter
->

  println letter

  }

  这提供了所有的可能性,比如使用下划线替代所有空格,如清单 13 所示:

  清单 13. 使用下划线替代空格  

def name = "Jane Smith"

  println
"replace spaces"

  name.each{

  
if(it == " "){

  print
"_"

  }
else{

  print it

  }

  }

  
// output

  Jane_Smith

  当然,在替换一个单个字母时,Groovy 提供了一个更加简洁的替换方法。您可以将清单 13 中的所有代码合并为一行代码:"Jane Smith".replace(" ", "_")。但是对于更复杂的 String 操作,each() 方法是非常好的选择。

0
相关文章