Оператор ! и метод equals в Java
объясните пожалуйста условия нижеприведенного цикла простыми словами ?
if (!name.equalsIgnoreCase(targName)) {
do somtihg ...}
ранее в коде обявлены две String переменных: name и targName
Если переменная name не равна, равна переменной targName без учета больших букв ? Не name равно targName ? Как это можно понять ?
Ответы (2 шт):
Если name отличается от targName без учёта регистра.
Если name отличается от targName не только регистром.
оператор ! просто переворачивает(инвертирует) меняет значение выражения на противоположное.(логическое «НЕ» (NOT): инверсия, отрицание)
true = true
!true = false
!false = true
на примере с примитивами (3 > 1) - выражение истинно(true) 3 больше 1
!(3 > 1) - выражение ложно(false) (НЕ)3 больше 1
я когда смотрю код, у себя в голове ! меняю на (НЕ)
if (!name.equalsIgnoreCase(targName)) = if ((НЕ)name.equalsIgnoreCase(targName))
Метод equalsIgnoreCase() — сравнивает данную строку с другой строкой, игнорируя регистр.
if (!name.equalsIgnoreCase(targName)) {
do somtihg ...}
читаю как -
если ((НЕ) переменная name равна игнорируя регистр переменной targName)
{do somtihg ...}
к примеpу name = "a" , targName = "A"
name.equalsIgnoreCase(targName) - будет true
!name.equalsIgnoreCase(targName) - будет false
в итоге если (false) {то делаем что-то...}