加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何修复groovy.lang.MissingMethodException:没有方法签名:

发布时间:2020-12-14 16:35:48 所属栏目:大数据 来源:网络整理
导读:我试图在没有闭包的情况下使用此方法 def copyAndReplaceText(source,dest,targetText,replaceText){ dest.write(source.text.replaceAll(targetText,replaceText))}def source = new File('C:/geretd/resumebak.txt') //Hello Worlddef dest = new File('C:
我试图在没有闭包的情况下使用此方法

def copyAndReplaceText(source,dest,targetText,replaceText){
    dest.write(source.text.replaceAll(targetText,replaceText))
}

def source = new File('C:/geretd/resumebak.txt') //Hello World
def dest = new File('C:/geretd/resume.txt') //blank

copyAndReplaceText(source,dest){
    it.replaceAll('Visa','Passport!!!!')
}

但是当我运行它时,我收到以下错误:

groovy.lang.MissingMethodException: No signature of method: ConsoleScript3.copyAndReplaceText() is applicable for argument types: (java.io.File,java.io.File,ConsoleScript3$_run_closure1) values: [C:geretdresumebak.txt,C:geretdresume.txt,...]
Possible solutions: copyAndReplaceText(java.lang.Object,java.lang.Object,java.lang.Object)

at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55)

at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:78)

at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)

at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)

at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)

我究竟做错了什么?

解决方法

因为您将三个参数传递给四个参数方法.此外,您没有使用传递的闭包.

如果要指定在源内容之上进行的操作,请使用闭包.它会是这样的:

def copyAndReplaceText(source,closure){
    dest.write(closure( source.text ))
}

// And you can keep your usage as:
copyAndReplaceText(source,'Passport!!!!')
}

如果您将始终交换字符串,则传递两者,因为您的方法签名已经指出:

def copyAndReplaceText(source,replaceText))
}

copyAndReplaceText(source,'Visa','Passport!!!!')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读