在Java中尝试向左折叠二进制文件时出现堆栈溢出错误

在Java中尝试向左折叠二进制文件时出现堆栈溢出错误,java,recursion,stack-overflow,Java,Recursion,Stack Overflow,我在尝试运行此代码时遇到堆栈溢出错误。有人能帮我调试一下吗 static <U> U binFoldLeft(U e, List<U>l, BiFunction<U,U,U> f){ U result = e; f.apply(binFoldLeft(result, (l.subList(0, l.size()/2)), f), binFoldLeft(result, (l.subLi

我在尝试运行此代码时遇到堆栈溢出错误。有人能帮我调试一下吗

static <U> U binFoldLeft(U e, List<U>l, BiFunction<U,U,U> f){
    U result = e;

    f.apply(binFoldLeft(result, (l.subList(0, l.size()/2)), f),                 
            binFoldLeft(result, (l.subList(l.size()/2, l.size())),f)); 
    return result;
}
静态U-binFoldLeft(U-e、列表、双功能f){
U结果=e;
f、 应用(binFoldLeft(结果,(l.subList(0,l.size()/2)),f),
binFoldLeft(result,(l.subList(l.size()/2,l.size()),f));
返回结果;
}

谢谢

您缺少结束递归的基本情况。如前所述,
binFoldLeft
总是调用自己两次,即使
l
为空。

您能解释一下什么是binFoldLeft吗??我试着在互联网上搜索,但无法得到这个函数的功能描述?@YogeshKumarGupta这是OP为他在问题中编写和使用的函数命名的。它不是标准的库函数或类似的函数。