The Java String class equals() metoda porovnává dva dané řetězce na základě obsahu řetězce. Pokud některý znak neodpovídá, vrátí hodnotu false. Pokud jsou všechny znaky shodné, vrátí hodnotu true.
Metoda String equals() přepíše metodu equals() třídy Object.
Podpis
publicboolean equals(Object anotherObject)
Parametr
jinýObjekt : jiný objekt, tj. ve srovnání s tímto řetězcem.
zarovnat css obrázek
Návraty
skutečný pokud jsou znaky obou řetězců stejné, jinak Nepravdivé .
Vnitřní implementace
public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String anotherString = (String) anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) return false; i++; } return true; } } return false; }
Příklad metody Java String equals().
Název souboru: EqualsExample.java
public class EqualsExample{ public static void main(String args[]){ String s1='javatpoint'; String s2='javatpoint'; String s3='JAVATPOINT'; String s4='python'; System.out.println(s1.equals(s2));//true because content and case is same System.out.println(s1.equals(s3));//false because case is not same System.out.println(s1.equals(s4));//false because content is not same }}Otestujte to hned
Výstup:
true false false
Příklad metody Java String equals() 2
Metoda equals() porovnává dva řetězce a lze ji použít v řídicí struktuře if-else.
Název souboru: EqualsExample2.java
public class EqualsExample2 { public static void main(String[] args) { String s1 = 'javatpoint'; String s2 = 'javatpoint'; String s3 = 'Javatpoint'; System.out.println(s1.equals(s2)); // True because content is same if (s1.equals(s3)) { System.out.println('both strings are equal'); }else System.out.println('both strings are unequal'); } }
Výstup:
true both strings are unequal
Příklad metody Java String equals() 3
Podívejme se ještě na jeden příklad pro testování rovnosti řetězce přítomného v seznamu.
řetězec na znak java
Název souboru: EqualsExample3.java
import java.util.ArrayList; public class EqualsExample3 { public static void main(String[] args) { String str1 = 'Mukesh'; ArrayList list = new ArrayList(); list.add('Ravi'); list.add('Mukesh'); list.add('Ramesh'); list.add('Ajay'); for (String str : list) { if (str.equals(str1)) { System.out.println('Mukesh is present'); } } } }
Výstup:
kolik je 25 ze 100
Mukesh is present
Příklad metody Java String equals() 4
Interní implementace metody equals() ukazuje, že lze předat odkaz na jakýkoli objekt v parametru metody. Následující příklad ukazuje totéž.
Název souboru: EqualsExample4.java
public class EqualsExample4 { // main method public static void main(String argvs[]) { // Strings String str = 'a'; String str1 = '123'; String str2 = '45.89'; String str3 = 'false'; Character c = new Character('a'); Integer i = new Integer(123); Float f = new Float(45.89); Boolean b = new Boolean(false); // reference of the Character object is passed System.out.println(str.equals(c)); // reference of the Integer object is passed System.out.println(str1.equals(i)); // reference of the Float object is passed System.out.println(str2.equals(f)); // reference of the Boolean object is passed System.out.println(str3.equals(b)); // the above print statements show a false value because // we are comparing a String with different data types // To achieve the true value, we have to convert // the different data types into the string using the toString() method System.out.println(str.equals(c.toString())); System.out.println(str1.equals(i.toString())); System.out.println(str2.equals(f.toString())); System.out.println(str3.equals(b.toString())); } }
Výstup:
false false false false true true true true