我有一个多选变量提交到控制器。多选的工作方式是,如果只选择了一个值,则传递为单个字符串,如果选择了多个值,则传递为字符串数组。我想保持处理简单,并将传递的值视为相同的。所以我想到的最好的方法是将其转换为List,如下所示:
def selectedValues = params.selectedValues
List valuelist = new ArrayList()
if(selectedValues instanceof String) {
valuelist.add(selectedValues)
} else {
valuelist = selectedValues as List
}
它可以工作,但我想知道是否有更巧妙的方法来做到这一点,也许可以用一行代码实现 :)
当然,如果我只是这样做:
List valuelist = selectedValues as List
如果只选择单个值,它将无法起作用,因为它会将其从24转换为[2,4]。
有什么想法吗?
.findAll { it != null }
更短的写法是- null
,它将从数组中删除所有的 null 条目。 - mmigdol