Использование нескольких условий в Intellij Debugger Breakpoint

Я хочу добавить несколько условий для точки останова в IntelliJ. Что-то вроде:

stringA.equals("test") && objectA.equals(objectB);

Как я могу это сделать?

2 ответа

Решение

Таким образом, добавление обратного статуса перед ним решило проблему.

Условием точки прерывания IntelliJ IDEA может быть любое логическое выражение:

Выберите, чтобы указать условие для достижения точки останова. Условие - это логическое выражение Java, включающее метод, возвращающий true или false, например, str1.equals(str2).

Это выражение должно быть действительным в строке, где установлена ​​точка останова, и оно оценивается каждый раз, когда достигается точка останова. Если результат оценки равен true, выбранные действия выполняются.

Вы можете ввести многострочные выражения, например:

if (myvar == expectedVariable) {
  System.out.println(myvar);
  anotherVariable = true;
}
return true;

stringA.equals("test") && objectA.equals(objectB) кажется верным выражением, возвращающим true или же false так что должно работать прямо из коробки.

Доказательство работы:

https://i.imgur.com/uBuixJa.png

попадание в точку останова

Следующий оператор условия также будет работать:

return stringA.equals("test") && objectA.equals(objectB);

Обратите внимание, что существует известная проблема, которая будет отображаться красным подчеркиванием после условия, означающего, что ожидается точка с запятой. Если вы добавите точку с запятой, условие станет недействительным, и вам также придется добавить return заявление, чтобы сделать его снова действительным. Это косметическая проблема, и вы можете использовать условие без точки с запятой и игнорировать ошибку, или вы можете добавить точку с запятой и return чтобы сделать это действительным утверждением:

https://i.imgur.com/HrbGInR.png

Другие вопросы по тегам