Описание проблемы

Как сравнить две строки?

Решение

В следующем примере сравниваются две строки, с помощью методов compareTo(String), compareToIgnoreCase(String) и compareTo(object String) строкового класса (String Class), которые возвращают ASCII разность первых нечетных символов сравниваемых строк.

public class Compare{
   public static void main(String args[]){
      String firstStr = "Привет Мир!";
      String secondStr = "привет мир!";
      Object objStr = firstStr;

      System.out.println(firstStr.compareTo(secondStr));
      System.out.println(firstStr.compareToIgnoreCase(secondStr));
      System.out.println(firstStr.compareTo(objStr.toString()));
   }
}

Результат

Получим следующий результат:

-32
0
0

Сравнение строк с помощью equals()

Метод equals() – сравнивает строку с указанным объектом. Результат является истинным тогда и только тогда, когда аргумент не является нулевым и является строковым объектом, который представляет ту же последовательность символов, что и этот объект.

public class Compare{
   public static void main(String []args){
      String str1 = "proglang";
      String str2 = "proglang";
      String str3 = new String ("Prog Lang");

      System.out.println(str1.equals(str2));
      System.out.println(str2.equals(str3));
   }
}

Получим следующий результат:

true
false

Сравнение строк с помощью оператора ==

public class Compare{
   public static void main(String []args){
      String str1 = "proglang";
      String str2 = "proglang";
      String str3 = new String ("Prog Lang");

      System.out.println(str1 == str2);
      System.out.println(str2 == str3);
   }
}

Получим следующий результат:

true
false

Оглавление