IntelliJ - розовая подчеркнутая переменная ... что это значит? - PullRequest
0 голосов
/ 05 декабря 2018

Не могли бы вы объяснить, почему переменная списка в строке 108 имеет этот определенный цвет и подчеркнута?

enter image description here

Если я поставлютот же код в for-each вместо foreach (), тогда он выглядит «нормально».

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Это просто семантическая подсветка для пометки entryDTS не локальной переменной

Семантическая подсветка, ранее представленная в KDevelopи некоторые другие IDE, теперь доступны в IntelliJ IDEA.Он расширяет стандартную подсветку синтаксиса уникальными цветами для каждого параметра и локальной переменной

0 голосов
/ 05 декабря 2018

Во-первых, вы используете лямбду, которая является синтаксическим сахаром.Во-вторых, фиолетовое подчеркивание появляется, если переменная не находится внутри лямбды, чтобы показать пользователю, что вы не используете локальную переменную.

Например:

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 становится фиолетовым, подчеркнутым, потому что это снаружи лямбда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...