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フィールドを参照するとエラーになってしまう。