传递函数中的参数以及列表

时间:2017-11-03 05:01:29

标签: groovy

我有一个带有两个参数的函数,它接受字符串和列表。我现在需要将第三个String参数传递给此函数,该函数默认为空字符串。继承我的职责: 以下是我调用函数的方法:

rows("{CALL " + storedProc + "(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}",param1,param2,param3)

这是函数

List<GroovyRowResult> rows(String query,java.lang.Object[] parameterMap){
    ......
}

现在,在上面的函数中,输入参数如下:

query = {CALL reportStoredProc(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
parameterMap = [param1,param2,param3]

当我在函数中放置一个thrid默认参数时:

List<GroovyRowResult> rows(String query,java.lang.Object[] parameterMap, String test=''){
    ......
}

如果我通过&#34;你好&#34;作为测试,测试中的字符串被视为列表中的elemtn。那么,现在参数将是:

query = {CALL reportStoredProc(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
parameterMap = [param1,param2,param3,Hello]
test = ''

是否有一个解决方法来传递第三个参数而不将其添加到列表中?这可能是一个愚蠢的问题,但我现在已经坚持了一段时间。

注意:要调用存储过程,我被迫使用行而不是调用或执行。另外,我不能在调用函数时使用[]传递parameterMap。 此外,测试必须是第三个参数

谢谢,

0 个答案:

没有答案