2016-08-12 76 views
0

考慮下面的代碼我作爲附加圖像的方法遞歸:IntelliJ IDEA的無法識別在foreach調用

enter image description here

的代碼做一個無限循環,但這不是問題的關鍵。問題是,如果我在for循環內進行遞歸,那麼IDEA可以在左邊顯示一個符號。

如果我在forEach lambda表達式中進行遞歸,那麼沒有符號。

如果可以在兩種情況下都顯示它會很舒服。 這是一個錯誤,還是有任何理由?

+1

在第二種情況下沒有直接遞歸。 IntelliJ不知道'IntStream.range(0,10)'返回的對象上的'forEach'方法將用lambda來做什麼。 – Jesper

回答

1

正如@Jesper在他的評論中指出的那樣,並非每個lambda都是從作爲參數傳遞給它的函數同步調用的。想象一下,示例中使用的函數是invokeLater而不是forEach

由於IntelliJ不知道使用lambda作爲參數的特定庫函數的語義,因此它不會突出顯示任何lambda表達式中的遞歸調用。