如何在groovy中打印List或数组时删除\替换大括号?

AMA*_*MAR 1 collections groovy

我必须SQL查询的子句中给出值列表,但在检索值[]时,还会出现查询语言无法读取的数据.

例如,我有以下列表:

def val = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5,6,7,8))
Run Code Online (Sandbox Code Playgroud)

println(val)输出时,[1, 2, 3, 4, 5, 6, 7, 8]但在查询中需要它:1, 2, 3, 4, 5, 6, 7, 8

在java中,这个可以工作,System.out.println(val.toString().replaceAll("[\\[\\]]", ""))但不是在groovy中.我们不能像这样使用集合删除吗?

Opa*_*pal 6

代替:

def val = new ArrayList(Arrays.asList(1,2,3,4,5,6,7,8))
Run Code Online (Sandbox Code Playgroud)

使用:

def val = new ArrayList(Arrays.asList(1,2,3,4,5,6,7,8)).join(', ')
Run Code Online (Sandbox Code Playgroud)

或者干脆:

def val = [1,2,3,4,5,6,7,8].join(', ')
Run Code Online (Sandbox Code Playgroud)

  • 使用“join”执行此操作更加方便并且不易出错。 (2认同)