当前位置: 首页 > 知识库问答 >
问题:

方法存在时缺少方法异常

夏振国
2023-03-14

我是Groovy新手,但我正在尝试编写一个简单的递归方法来将层次路径解析为对象图。以下是我尝试过的:

class Hierarchy {
    def root = [:]

    static void processHierarchy(names, parent) {
        println names
        if (names.size() > 0) {
            def childName = names[0]
            def child = parent[childName]
            if (child == null){
                child = new Expando()
                parent[childName]=  child
            }
            processHierarchy(names[1..-1], child)
        }
    }

    Hierarchy () {
        def names = '/some/thing/to/test'.split('/')
        if (names != null && names.size() > 0){
            processHierarcy(names, this.root)
        }
        println this.root
    }
}

new Hierarchy()

但我得到以下错误:

Caught: groovy.lang.MissingMethodException: No signature of method: Hierarchy.processHierarcy() is applicable for argument types: ([Ljava.lang.String;, java.util.LinkedHashMap) values: [[, some, thing, to, test], [:]]
Possible solutions: processHierarchy(java.lang.Object, java.lang.Object)
groovy.lang.MissingMethodException: No signature of method: Hierarchy.processHierarcy() is applicable for argument types: ([Ljava.lang.String;, java.util.LinkedHashMap) values: [[, some, thing, to, test], [:]]
Possible solutions: processHierarchy(java.lang.Object, java.lang.Object)
    at Hierarchy.<init>(xxx.groovy:48)
    at xxx.run(xxx.groovy:54)

我错过了什么?

共有1个答案

齐文林
2023-03-14

processHierarcy(name,this.root):)中缺少一个h

此外,修改if块中的过程层次结构()if(names.size()

 类似资料:
  • 我是groovy的新手。我有这样的代码。 串味 从这个客户端映射中,我需要迭代appName和enable的值。为此,我使用了get方法。。。我对此不确定。 使用此get方法时,我遇到以下错误。因为我是groovy新手,所以我不知道这里发生了什么 棒极了。lang.MissingMethodException:没有方法com的签名。康卡斯特。csv。哈克索。SecureFirebaseRestCl

  • 我已经使用Groovy几年了,但不是在最近几个月,所以这可能只是一个新手问题。我试图解析日志文件,但当我尝试这样做时: 我得到了这个例外: 线程“main”groovy.lang.missingmethodException中的异常:方法:java.text.SimpleDateFormat.parse()的签名不适用于参数类型:(java.lang.string,ce.readscript.tm

  • 问题内容: 我在项目中使用Spring 5。直到今天,仍然有可用的方法。 但是下载最新的快照后,它突然消失了!有没有参考说明该方法现在不可用? 我的依赖项列表: 更新: 似乎此方法已被替换为 问题答案: 请参阅与该提交关联的DATACMNS-944,它具有以下重命名

  • 我在我的项目中使用Spring 5。直到今天,还有可用的方法。 但下载最新快照后,它突然消失了!有没有参考现在没有的方法? 我的依赖项列表: 更新: 似乎此方法已被

  • 问:您是如何处理这些用例的? 是否使用静态帮助器方法? 是否使用后跟isafter/isbefore的详细等于? 是否使用否定的相反条件? 是否使用第三方库帮助程序? null Edit:正如Andreas所建议的,我用方法添加了版本,我希望我正确(无需测试)。 编辑2:示例:

  • 创建类的两个实例 将它们存储在集合中(本例中为ArrayList) 迭代调用类上的方法的集合