Рубрики
Без рубрики

Сравнение строк

Привет всем 😀 Я надеюсь, что у вас все хорошо. В этой статье я напишу о 4 способах сравнения строк… С тегами java, новички, обсуждение, javascript.

Привет всем 😀 Я надеюсь, что у вас все хорошо. В этой статье я напишу о 4 способах сравнения строк в Java. Прежде чем продолжить эту статью, я бы посоветовал вам просмотреть мои последние 2 статьи, |/String class и Строковые методы , если вы еще не просматривали их, пожалуйста, проверьте эти два коротких чтения.

Давайте начнем…

Прежде чем продолжить, давайте разберемся, почему нам нужно сравнивать строки, если вы хотите проверить некоторые значения символов или если вы создаете простое приложение, в котором есть функция входа или pin-кода, вам может потребоваться сравнить строки там. Итак, вот такие 4 метода, которые будут полезны при работе со строкой.

1.

Да, первый способ сравнения строк – это double equal to или equal to equal to (==) оператор сравнения или сравнения. Этот оператор используется для проверки того, равно ли значение двух операндов или нет. Этот оператор используется для сравнения двух или более двух объектов, если они ссылаются на один и тот же объект, то он возвращает значение true. Этот оператор сравнивает ссылки на объекты. Короче говоря, мы можем сказать, что этот оператор проверяет значения.

public class Demo {
    public static void main(String []args) {
        String str1 = "Lion";
        String str2 = "Lion";
        if(str1 == str2) {
            System.out.println("Same");
        }
        else {
            System.out.println("Not same"); 
        }
    }
}

Вы можете запустить свой код онлайн здесь

2. равно()

Я уже писал об этом методе в своей последней статье, этот метод возвращает значение true тогда и только тогда, когда объект является строкой и представляет ту же последовательность символов, что и эта строка. Возвращает значение true, если текущий объект равен аргументу, и возвращает значение false, если объекты не равны. Короче говоря, этот метод проверяет значения обеих строк. На этот раз давайте разберемся в этом на каком-нибудь другом примере.

public class Demo {
    public static void main(String []args) {
        String str1 = "Lion";
        String str2 = "Lion";
        if(str1.equals(str2)) {
            System.out.println("Same");
        }
        else {
            System.out.println("Not Same");
        }
    }
}

Вы можете запустить свой код онлайн здесь

3. equalsIgnoreCase ()

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

public class Demo {
    public static void main(String []args) {
        String str1 = "Lion";
        String str2 = "LiOn";
        if(str1.equalsIgnoreCase(str2)) {
            System.out.println("Same");
        }
        else {
            System.out.println("Not Same");
        }
    }
}

Вы можете запустить свой код онлайн здесь

Если тот же код выполняется с помощью метода equals() , результат будет “Не тот же” .

public class Demo {
    public static void main(String []args) {
        String str1 = "Lion";
        String str2 = "LiOn";
        if(str1.equals(str2)) {
            System.out.println("Same");
        }
        else {
            System.out.println("Not Same");
        }
    }
}

Вы можете запустить свой код онлайн здесь

4. Сравнение()

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

Давайте лучше разберемся в этом на нескольких примерах-

public class Demo {
    public static void main(String []args) {
        String str1 = "K";
        String str2 = "K";
        System.out.println("The difference is : " + str1.compareTo(str2));
    }
}

Вы можете запустить свой код онлайн здесь

В приведенном выше примере мы сравнили два похожих символа, символ K чье значение в Юникоде равно 75. Следовательно, напечатанное значение равно 0, т.Е. Между значениями в Юникоде нет разницы.

public class Demo {
    public static void main(String []args) {
        String str1 = "K";
        String str2 = "k";
        System.out.println("The difference is : " + str1.compareTo(str2));
    }
}

Вы можете запустить свой код онлайн здесь

В приведенном выше примере мы сравнили два разных случая символа K, то есть мы сравнили K и k , значения которых в Юникоде равны 75 и 107. Следовательно, напечатанное значение равно -32, т.Е. Разница между значениями K и k в Юникоде.

public class Demo {
    public static void main(String []args) {
        String str1 = "k";
        String str2 = "K";
        System.out.println("The difference is : " + str1.compareTo(str2));
    }
}

Вы можете запустить свой код онлайн здесь

В приведенном выше примере мы сравнили два разных случая символа K, то есть мы сравнили K и k , значения которых в Юникоде равны 75 и 107, но на этот раз мы изменили порядок. Следовательно, напечатанное значение равно 32, т.Е. Разница между значениями в Юникоде k и K.

public class Demo {
    public static void main(String []args) {
        String str1 = "AB";
        String str2 = "Ab";
        System.out.println("The difference is : " + str1.compareTo(str2));
    }
}

Вы можете запустить свой код онлайн здесь

В приведенном выше примере мы сравнили две разные строки, AB и Ab в котором первый символ обеих строк одинаков, но во втором символе есть разница в регистре. Следовательно, напечатанное значение равно -32, т.Е. Разница между значениями в Юникоде B и b и разницей между значениями в Юникоде первого символа A одинакова, поэтому это не повлияло на конечный результат.

public class Demo {
    public static void main(String []args) {
        String str1 = "Hello";
        String str2 = "Hi";
        System.out.println("The difference is : " + str1.compareTo(str2));
    }
}

Вы можете запустить свой код онлайн здесь

В приведенном выше примере мы сравнили две разные строки, Привет и Привет в котором первый символ обеих строк одинаков, но второй символ обеих строк отличается, т.Е./| e и я чьи значения в Юникоде равны 101 и 105 соответственно. Следовательно, напечатанное значение равно -4, т.Е. Разница между значениями в Юникоде e и i и разницей между значениями в Юникоде первого символа H одинакова, поэтому это не повлияло на конечный результат.

Для справки вы можете проверить значения в Юникоде здесь

Ладно, пока этого достаточно, следуйте моему этому путешествию, чтобы узнать больше о Java.

Спасибо вам за чтение.

Пожалуйста, поделитесь своими мыслями по этому поводу и поправьте меня, если я ошибаюсь.

Я надеюсь, что вам это понравилось и вы нашли это полезным.

Обложка: – Раджат Гур

Свяжитесь со мной в Twitter или LinkedIn

Мой личный блог blog.ritvikdubey.com

Оригинал: “https://dev.to/ritvikdubey27/comparing-strings-3pi1”