Groovy Tip 5 数组 一、数组的定义及赋初值 在Groovy语言中,数组的定义和Java语言中一样。 def a = new String[ 4 ] def nums = new int [ 10 ] def objs = new Object[ 3 ] 然后赋值也一样: a[ 0 ] = 'a' a[ 1 ] = 'b' a[ 2 ] = 'c' a[ 3 ] = 'd' 所不同的在于在数组定义的时候赋初值。 在Java语言里,对一个字符串数组这样定义: String[] strs = new String[]{ 'a' , 'b' , 'c' , 'd' }; 而在 Groovy 语言中,对一个字符串数组则需要这样定义: def strs = [ 'a' , 'b' , 'c' , 'd' ] as String[] 二、数组的遍历 在Groovy语言中,对数组的遍历方法很多,常用的是使用each方法: a. each { println it } 当然,你也可以使用增强 for 循环: for (it in a) { println it } 你还可以使用如下的遍历方式: ( 0 ..<a.length). each { println a[it] } 三、 数组和 List 之间的转化 List对象转化成数组对象非常简单: List list = [ 'a' , 'b' , 'c' , 'd' ] def strs = list as String[] println strs[ 0 ] 绝对没有Java语言那么复杂: List list = new ArrayList(); list.add( "1" ); String[] strs = (String[])list.toArray( new String[0]); System. out .println(strs[0]); 而从数组转化成 List 对象也非常简单: def strs = [ 'a' , 'b' , 'c' , 'd' ] as String[] List list = strs. toList () println list.get( 0 ) 你也可以这样转化: def strs = [ 'a' , 'b' , 'c' , 'd' ] as String[] List list = strs as List println list.get( 0 ) 而在 Java 语言中,你需要这样转化: List list = Arrays. asList (strs)