Groovyに文字列からリストを作成する方法はありますか?つまり、文字列があり、操作するために文字列(および実際のGroovyリスト)に"[0,1]"
変換したいと思います。[0,1]
文字列の値は2次元()である可能性がありますが"[ [1], [2, 3]]"
、常にリストになることは間違いありません。
Groovyに文字列からリストを作成する方法はありますか?つまり、文字列があり、操作するために文字列(および実際のGroovyリスト)に"[0,1]"
変換したいと思います。[0,1]
文字列の値は2次元()である可能性がありますが"[ [1], [2, 3]]"
、常にリストになることは間違いありません。
Eval.meを使用できますが、明らかに、古い文字列の評価には注意してください。
def a = Eval.me( '[ 1, 2 ]' )
別の方法は次のとおりです。
def a = new groovy.json.JsonSlurper().parseText( '[ 1, 2 ]' )
あなたがあなたの質問で与える2つのリストフォームは両方とも有効なJsonです:-)
次のベンチマークコードがあるとします。
@Grab('com.googlecode.gbench:gbench:0.4.1-groovy-2.1') // v0.4.1 for Groovy 2.1
import groovy.json.JsonSlurper
def r = benchmark( measureCpuTime:false ) {
'eval' {
def a = Eval.me( '[ 1, 2 ]' )
assert a == [ 1, 2 ]
}
'json' {
def a = new JsonSlurper().parseText( '[ 1, 2 ]' )
assert a == [ 1, 2 ]
}
}
r.prettyPrint()
出力を取得します:
eval 4661121
json 7257
したがって、jsonルートを使用する方がはるかに高速です;-)