Въведение в сравнението на струните в 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 заедно с кодове и изходи. Можете също да прегледате и другите ни предложени статии, за да научите повече -
- Защитена ключова дума в Java
- JTextArea в Java
- GridBagLayout в Java
- Методи на масив в Java