答案 0 :(得分:2)
首先,您要使用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;
}
}
如果粘贴,您将看到a
中只有foo += a
带有紫色下划线,因为它是来自lambda之外的。
答案 1 :(得分:1)
标记entryDTS
不是局部变量只是semantic highlighting
以前在KDevelop和其他一些IDE中引入的语义突出显示现在在IntelliJ IDEA中可用。它使用每个参数和局部变量的唯一颜色来扩展标准语法突出显示
答案 2 :(得分:0)
带下划线的参数表示局部变量在lambda表达式外部声明并在内部使用。 要禁用它,请转到:编辑器->配色方案-> Java->参数->禁用“隐式匿名类参数”