IntelliJ IDEA无法识别forEach调用中的方法递归

时间:2016-08-12 14:27:59

标签: java recursion intellij-idea java-8

考虑以下作为图像附加的代码:

enter image description here

代码执行无限循环,但这不是重点。关键是如果我在for循环中进行递归,那么IDEA可以在左边显示一个符号。

如果我在forEach lambda表达式中进行递归,则没有任何符号。

如果可以在两种情况下都显示它会很舒服。 这是一个错误,还是有任何原因?

1 个答案:

答案 0 :(得分:1)

正如@Jesper在他的评论中正确指出的那样,并非每个lambda都是从作为参数传递的函数中同步调用的。想象一下,示例中使用的函数是invokeLater而不是forEach

由于IntelliJ不知道将lambdas作为参数的特定库函数的语义,因此它不会突出显示任何lambdas中的递归调用。