Въведение в сравнението на струните в Java

В Java последователност от знаци е известна като низ. Той е неизменен (не може да бъде променен, след като е създаден) и помага при извършване на няколко операции. Също така, Сравнение на стринг е често срещана задача на програмиране в Java. Тя може да се извърши по няколко начина и ще бъде разгледана подробно в следващите раздели.

Как да сравним String в Java?

Както вече беше обсъдено, сравнението на струните може да се извърши с помощта на различни методи. Те са:

  • Използвайки метод equals ()
  • Използвайки метода сравнениеTo ()
  • Използвайки метода equalsIgnoreCase ()
  • Използване на метода сравнениеToIgnoreCase ()

1. Равен () метод

методът equals () сравнява два низа въз основа на съдържанието на низовете. Ако струните не са в един и същи случай (т.е. горен или долен регистър), ще се счита за неравен. По-долу е даден пример на метода equals ().

програма

public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
//string comparison using equals method
if (str1.equals(str2)) (
System.out.println("Both str1 : " + str1 + " and str2 : "+ str2 +" are equal");
)
else
(
System.out.println("Both str1 : " + str1 + " and str2 : "+ str2 +" are not equal");
)
String str3 = "Happy";
String str4 = "hai";
if (str3.equals(str4)) (
System.out.println("Both str3 : " + str3 + " and str4 : "+ str4 +" are equal");
)
else
(
System.out.println("Both str3 : " + str3 + " and str4 : "+ str4 +" are not equal");
)
String str5 = "Happy";
String str6 = "hard";
if (str5.equals(str6)) (
System.out.println("Both str5 : " + str5 + "and str6 : "+ str6 +" are equal");
)
else
(
System.out.println("Both str5 : " + str5 + " and str6 : "+ str6 +" are not equal");
)
)
)

изход:

Обяснение на горния код

  • Тук два низа str1 и str2 са равни, тъй като са от един и същи случай. (Дело на камила).
  • Също така, Str3 и Str4, str5 и str6 не са равни.

2. Сравнете с () метод

При този метод стойностите се сравняват лексикографски и връщат стойност от цяло число. Стойността се основава на това дали първият низ е равен на, по-малък или по-голям от 2- ия низ.

Две струни str1 и str2 присъстват и

  • ако str1 == str2, тогава 0
  • ако str1> str2, тогава + ve стойност
  • ако str1 <str2, тогава -ve стойност

програма

//Java program to demonstrate compareTo method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
String str3 = "Happy";
String str4 = "hai";
//string comparison using compareTo method
System.out.println(str1.compareTo(str2));
System.out.println(str3.compareTo(str4));
String str5 = "Happy";
String str6 = "Hardest one";
System.out.println(str5.compareTo(str6));
)
)

изход:

Обяснение на горния код

  • Тъй като два низа str1 и str2 са лексикографски равни, 0 се връща.
  • В същото време str3 е по-малко от str4, а str5 е по-малко от str6 лексикографски. Така че се връща отрицателна стойност.

3. Равен на игнориране на случая

Използвайки този метод, два низа ще бъдат сравнени, без да се обмисля дали низът е главен или малък.

програма

//Java program to demonstrate equalsIgnoreCase method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "balloon";
//string comparison using equalsIgnoreCase method
System.out.println(str1.equalsIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println(str3.equalsIgnoreCase(str4));
String str5 = "Happy";
String str6 = "hard";
System.out.println(str5.equalsIgnoreCase(str6));
)
)

изход:

Обяснение на горния код

  • Тъй като се използва методът equalsIgnoreCase, str1 и str2 са равни, въпреки че са от различни случаи (малки и малки букви). И така, True се връща.
  • В случай на str3 и str4, str5 и str6, два низа са различни. Следователно лъжата се връща.

4. Сравнете с метода на игнориране на случаите

Този метод е подобен на метод сравнениеТо, където низовете се сравняват лексикографски. Разликата е, че сравнението няма да се повлияе дали низовете са в големи и малки букви.

програма

//Java program to demonstrate compareToIgnoreCase method
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "balloon";
//string comparison using compareToIgnoreCase method
System.out.println(str1.compareToIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println(str3.compareToIgnoreCase(str4));
String str5 = "Happy";
String str6 = "Hard";
System.out.println(str5.compareToIgnoreCase(str6));
)
)

изход:

Обяснение на горния код

  • Тук се прави комбинация от сравнениеTo и Ignorecase. Тъй като и str1 и str2 са равни, без да се вземат предвид случаите, 0 се връща.
  • По същия начин се връща положителна стойност, тъй като str3 е по-голяма от str4 и отрицателна стойност се връща, тъй като str5 е по-малка от str6.

Сега, нека да видим всички гореспоменати методи в една програма, така че да се постигне по-добро разбиране по отношение на сравнението на низовете.

програма

//Java program to demonstrate different methods for string comparison
public class StringComparisonExamples (
public static void main(String() args) (
String str1 = "Balloon";
String str2 = "Balloon";
System.out.println("Comparison of str1 : " + str1 + " and str2 : " + str2);
System.out.println("Using equals method ");
//string comparison using equals method
if (str1.equals(str2)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
//string comparison using compareTo method
System.out.println(str1.compareTo(str2));
System.out.println("Using equalsIgnoreCase method ");
//string comparison using equalsIgnoreCase method
System.out.println(str1.equalsIgnoreCase(str2));
System.out.println("Using compareToIgnoreCase method ");
//string comparison using compareToIgnoreCase method
System.out.println(str1.compareToIgnoreCase(str2));
String str3 = "Happy";
String str4 = "hai";
System.out.println("\nComparison of str3 : " + str3 + " and str4 : " + str4);
System.out.println("Using equals method ");
if (str3.equals(str4)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
System.out.println(str3.compareTo(str4));
System.out.println("Using equalsIgnoreCase method ");
System.out.println(str3.equalsIgnoreCase(str4));
System.out.println("Using compareToIgnoreCase method ");
System.out.println(str3.compareToIgnoreCase(str4));
String str5 = "Happy";
String str6 = "hard";
System.out.println("\nComparison of str5 : " + str5 + " and str6 : " + str6);
System.out.println("Using equals method ");
if (str5.equals(str6)) (
System.out.println("Both are equal");
)
else
(
System.out.println("Both are not equal");
)
System.out.println("Using compareTo method ");
System.out.println(str5.compareTo(str6));
System.out.println("Using equalsIgnoreCase method ");
System.out.println(str5.equalsIgnoreCase(str6));
System.out.println("Using compareToIgnoreCase method ");
System.out.println(str5.compareToIgnoreCase(str6));
)
)

изход:

заключение

Низът е поредица от знаци и неговите обекти са неизменни. Съществуват различни методи като equals, сравнениеTo и т.н., за да се сравнят низовете. Всички тези методи се използват въз основа на изискванията. Те са обяснени в горния раздел подробно.

Препоръчителни статии

Това е ръководство за сравняване на струни в Java. Тук обсъждаме Въведение в сравнението на струните в Java, как да сравним String в Java заедно с кодове и изходи. Можете също да прегледате и другите ни предложени статии, за да научите повече -

  1. Защитена ключова дума в Java
  2. JTextArea в Java
  3. GridBagLayout в Java
  4. Методи на масив в Java