Использование нескольких условий в 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
чтобы сделать это действительным утверждением: