3

以下のようなintの配列の表現である文字列が与えられた場合

String d = "[2,3,4,5]"

文字列の配列に変換するにはどうすればよいですか?

String[] f = convert d to array of String

また、int の配列に変換する方法を教えてください。

int[] f = convert d to array of int
4

2 に答える 2

7

私の値にはドットを含む文字列が含まれていて、これが見つかったので、他の解決策を探していました。

このコードはあなたのために働くはずです:

"[1,2,3]".tokenize(',[]')*.toInteger()
于 2014-11-05T12:40:36.660 に答える
4

Eval.me次のように使用できます。

String[] f = Eval.me( d )*.toString()

または

int[] i = Eval.me( d )

ただし、この文字列が第三者によって入力された場合、厄介なことを行う可能性があり、セキュリティ上の大きなリスクになるので注意してください...それを回避するには、次のような方法で自分で解析する必要があります。

def simplisticParse( String input, Class requiredType ) {
  input.dropWhile { it != '[' }
       .drop( 1 )
       .takeWhile { it != ']' }
       .split( ',' )*.asType( requiredType )
}

String[] s = simplisticParse( d, String )
int[] i = simplisticParse( d, Integer )
于 2013-06-20T07:57:11.873 に答える