IntelliJ-带粉色下划线的变量...是什么意思?

Chr*_*ris 6 java intellij-idea

您能否解释一下,为什么第108行中的列表变量具有此特定颜色并带有下划线?

在此处输入图片说明

如果我将相同的代码放在for-each而不是foreach()中,则它看起来“正常”。

先感谢您!

Cod*_*rix 5

首先,您要使用lambda,即语法糖。第二件事是,如果不是从lambda内部获取变量,则会显示紫色下划线,以向用户显示您未使用局部变量。

例如:

public static void main(String[] args) {
    int a = 0;
    Consumer<String> stringConsumer = foo -> {
      foo += a;
    };

    for (int i = 0; i < 1; i++) {
        String s = " " + a;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果粘贴,您将看到只有ain foo += a带有紫色下划线,因为它来自lambda之外。