GOOGLE ADS

среда, 13 апреля 2022 г.

IntelliJ - розовая подчеркнутая переменная... что это значит?

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

enter image description here

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

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


Решение проблемы

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

Например:

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;
}
}

Если вы вставите это, вы увидите, что фиолетовым подчеркнута только строка ain foo += a, потому что она находится за пределами лямбды.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...