天天看点

Groovy Tip 5 数组

                              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)