Столкновение: Apex == vs EqualsIgnoreCase()

В мире программирования Apex разработчики часто сталкиваются со сценариями, в которых им необходимо сравнивать строки. Двумя наиболее часто используемыми методами сравнения строк являются оператор «==” и методqualsIgnoreCase(). В этой статье мы рассмотрим различия между этими двумя подходами и предоставим примеры кода, иллюстрирующие их использование. Так что берите чашечку кофе, садитесь поудобнее и давайте погрузимся в эту разборку!

Сравнение строк с помощью оператора «==”:
Оператор «==” в Apex используется для сравнения двух строковых значений на предмет равенства. Он проверяет, содержат ли строки одинаковые символы в одном и том же порядке. Однако он чувствителен к регистру, то есть различает символы верхнего и нижнего регистра. Давайте рассмотрим пример:

String str1 = 'Hello';
String str2 = 'hello';
if (str1 == str2) {
    System.debug('Strings are equal.');
} else {
    System.debug('Strings are not equal.');
}

Выход:

Strings are not equal.

В этом примере оператор «==” сравнивает str1и str2и возвращает false, поскольку регистр символов разный. Итак, если вам нужно сравнение строк с учетом регистра, вам подойдет оператор «==”.

Сравнение строк с помощью методаqualsIgnoreCase():
Метод equalsIgnoreCase()в Apex используется для сравнения двух строковых значений на предмет равенства, игнорируя регистр символов. Он возвращает true, если строки содержат одинаковые символы, независимо от их регистра. Давайте посмотрим пример:

String str1 = 'Hello';
String str2 = 'hello';
if (str1.equalsIgnoreCase(str2)) {
    System.debug('Strings are equal.');
} else {
    System.debug('Strings are not equal.');
}

Выход:

Strings are equal.

В этом примере метод equalsIgnoreCase()сравнивает str1и str2и возвращает true, поскольку он игнорирует регистр персонажей. Если вам нужно сравнение строк без учета регистра, вам подойдет метод equalsIgnoreCase().

Какой из них использовать?
Выбор между оператором «==” и методом equalsIgnoreCase()зависит от того, хотите ли вы провести сравнение с учетом регистра или без него. Если регистр символов имеет значение, используйте оператор «==”. Если вы хотите игнорировать регистр символов, используйте метод equalsIgnoreCase().

Другие методы сравнения строк.
Помимо оператора «==” и метода equalsIgnoreCase()для сравнения строк в Apex доступны и другие методы, например equals(), startsWith(), endsWith()и contains(). Каждый из этих методов имеет свой собственный вариант использования, позволяющий выполнять различные типы сравнения строк в зависимости от ваших требований.

В этой статье мы рассмотрели различия между оператором «==” и методом equalsIgnoreCase()в Apex для сравнения строк. Мы узнали, что оператор «==” чувствителен к регистру и сравнивает строки на основе регистра символов, а метод equalsIgnoreCase()нечувствителен к регистру и игнорирует регистр символов. Мы также кратко упомянули другие методы сравнения строк, доступные в Apex. Итак, в следующий раз, когда вам понадобится сравнить строки в коде Apex, выберите метод, который соответствует вашим потребностям, и получите желаемые результаты!