GroovyでArrayListを利用する

def arr = []

Groovyでは上記で、配列でなくArrayListインスタンスになる。

先頭から順に要素を減らしていくような場合tail()が使える。

arr.tail()

空になったかどうかの判定はsize()でなく、インスタンスそのままをifに渡すことができる。

if(arr){
//
}else{
// サイズ0
}

配列からArrayListへの変換はJavaではArrays.asList()などを使うが、Groovyではasを使うことができる。

("aa.bb.cc".split("\\.") as ArrayList) instanceof ArrayList
  => true


逆にArrayListから配列への変換も可能

(["aa","bb","cc"] as String[]) instanceof String[]
  => true

String.split()は配列を返すため、戻り値に対してsize()メソッドを呼び出すとエラーになる。また["aa","bb"]のような値を配列と勘違いしてlengthフィールドを参照するとエラーになってしまう。