我最近开始学习Groovy。 我的任务是获得英文字母。 我不明白,为什么代码
println 'a'..'z'
工作正常,但是当我尝试上课时
println 'a'..'z'.class
发生ClassCastException。 我想做这样的事情:
return 'a'..'z'.toString()
你帮我吗?在String中获取英文字母的最佳方法是什么?
答案 0 :(得分:4)
groovy:000> println(('a'..'z').class)
class groovy.lang.ObjectRange
归结为解析问题。
'a'..'z'.class
被解释为“从'a'
到'z'.class
”。
你不能写
println ('a'..'z').class
因为在class
的返回时会尝试调用println
,而('a'..'z').join()
不返回任何内容。
将此字符串作为字符串的最快方法是:
{{1}}
答案 1 :(得分:2)
我的任务是获得英文字母。
我不确定您要将这些字母存储在哪个结构中,这里有一个演示如何将它们存储在List
和单String
<中的示例/ p>
List alphabet = ('a'..'z').collect { it }
String letters = ('a'..'z').join()