Использование нескольких условий в Intellij Debugger Breakpoint - PullRequest
0 голосов
/ 09 января 2019

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

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

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

Ответы [ 2 ]

0 голосов
/ 09 января 2019

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

without return

with return

0 голосов
/ 09 января 2019

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

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

condition

breakpoint hit

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

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

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

statement

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