【发布时间】:2011-03-10 21:18:39
【问题描述】:
我有一个多选变量发布到控制器。多重选择的工作方式是,如果只选择了一个值,则将其作为单个 String 传递,如果选择了多个值,则将其作为 String[] 传递。我想保持处理简单并将传递的值视为相同。所以我能想到的最好的方法就是像这样将它转换为 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]
有什么想法吗?
【问题讨论】: