先解释一下为什么会出现下划线
IntelliJ IDEA 2018.2的新特性:对于一些被重新分配地址的变量或者参数,IDEA默认给它们加上下划线
比如:
public static void main(String[] args) {
int x = 0;
}
给x分配另一个值,下划线就出现了:
关闭提示
要修改的话,可以在Settings | Editor | Color Scheme | Language Defaults | Identifiers | Reassigned.下关闭这个提示:Why it may be useful?
当方法的代码比较长的时候,如果变量没有加下划线,你很难知道这个变量的值在此方法中没有被重新分配过地址。
有些代码规范中,是不允许变量被重新分配地址(类比final),这样代码可读性比较好。
如果变量/参数带有下划线,则表示无法直接在lambda / anonymous类中使用它。(lambda 表达式中,捕获的局部变量必须显式的声明为 final 或实际效果的的 final 类型,否则会报Variable used in lambda expression should be final or effectively final)
建议
避免变量的可变状态逐渐成为一种共识,仅在极少数情况下才真正需要时重新分配变量。
留着这个设置也可以。
文章摘自:https://stackoverflow.com/questions/51697168/intellij-idea-underlines-variables-when-using-in-java