logo

Java String equalsIgnoreCase()

Java Strängklass equalsIgnoreCase() metoden jämför de två givna strängarna på basis av innehållet i strängen, oavsett fallet (nedre och övre) på strängen. Det är precis som metoden equals() men kontrollerar inte skiftlägeskänsligheten. Om något tecken inte matchas, returnerar det falskt, annars returnerar det sant.

Signatur

 publicboolean equalsIgnoreCase(String str) 

Parameter

str : en annan sträng dvs jämfört med denna sträng.

cout

Returnerar

Den återkommer Sann om tecknen i båda strängarna är lika, ignorera skiftläge annars falsk .

Internt genomförande

 public boolean equalsIgnoreCase(String anotherString) { return (this == anotherString) ? true : (anotherString != null) && (anotherString.value.length == value.length) && regionMatches(true, 0, anotherString, 0, value.length); } 

Det är uppenbart från att titta på implementeringen att equalsIgnoreCase()-metoden anropar regionMatches()-metoden. Det gör metoden equalsIgnoreCase() skiftlägesokänslig. Signaturen för metoden regionMatches() nämns nedan.

public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ofoffset, int len)

Metoden regionMatches() analyserar fem parametrar. Den första parametern ignorera fall är satt till sant i ovanstående implementering. När metoden exekveras kontrollerar den alltså om ignorera fall flaggan är sann eller inte. Om ja, tas ett tecken vardera från båda strängarna och jämförs sedan. Om jämförelsen ger ett falskt värde, så konverteras både tecknet till versaler och sedan kontrolleras om jämförelsen fortfarande ger ett falskt värde, då konverteras båda tecknen till gemener och jämförs sedan. Om jämförelsen ger det sanna värdet, så har båda strängarna samma innehåll; annars inte. Kodavsnitt av den diskuterade jämförelsen nämns nedan.

försök fånga i java
 while (toffset <last) { char ch1="getChar(value," toffset++); ch2="getChar(other," ooffset++); if (ch1="=" ch2) continue; } convert each character to uppercase and then make the comparison. comparison yeilds a true value, next pair of characters should be scanned uch1="Character.toUpperCase(ch1);" uch2="Character.toUpperCase(ch2);" (uch1="=" u2) lowercase otherwise, return false. (character.tolowercase(uch1)="=" character.tolowercase(uch2)) false; reaching here means content both strings are same after ignoring case sensitiveness true; < pre> <p>One may argue that if we made a comparison after converting to uppercase, then why do we need an extra comparison by converting characters to the lowercase. The reason behind this is to provide to the requirement of Georgian alphabets. Conversion in uppercase does not work properly for the Georgian alphabets, as they have some strange rules about the case conversion. Therefore, one extra comparison, by converting characters to the lowercase, is required.</p> <h2>Java String equalsIgnoreCase() Method Example</h2> <p> <strong>FileName:</strong> EqualsIgnoreCaseExample.java</p> <pre> public class EqualsIgnoreCaseExample{ public static void main(String args[]){ String s1=&apos;javatpoint&apos;; String s2=&apos;javatpoint&apos;; String s3=&apos;JAVATPOINT&apos;; String s4=&apos;python&apos;; System.out.println(s1.equalsIgnoreCase(s2));//true because content and case both are same System.out.println(s1.equalsIgnoreCase(s3));//true because case is ignored System.out.println(s1.equalsIgnoreCase(s4));//false because content is not same }} </pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> true true false </pre> <h2>Java String equalsIgnoreCase() Method Example 2</h2> <p>Let&apos;s see an example where we are testing string equality among the strings.</p> <p> <strong>FileName:</strong> EqualsIgnoreCaseExample2.java</p> <pre> import java.util.ArrayList; public class EqualsIgnoreCaseExample2 { public static void main(String[] args) { String str1 = &apos;Mukesh Kumar&apos;; ArrayList list = new ArrayList(); list.add(&apos;Mohan&apos;); list.add(&apos;Mukesh&apos;); list.add(&apos;RAVI&apos;); list.add(&apos;MuKesH kuMar&apos;); list.add(&apos;Suresh&apos;); for (String str : list) { if (str.equalsIgnoreCase(str1)) { System.out.println(&apos;Mukesh kumar is present&apos;); } } } } </pre> <p> <strong>Output:</strong> </p> <pre> Mukesh kumar is present </pre> <hr></last)>
Testa det nu

Produktion:

 true true false 

Java String equalsIgnoreCase() Metodexempel 2

Låt oss se ett exempel där vi testar stränglikhet mellan strängarna.

Filnamn: EqualsIgnoreCaseExample2.java

 import java.util.ArrayList; public class EqualsIgnoreCaseExample2 { public static void main(String[] args) { String str1 = &apos;Mukesh Kumar&apos;; ArrayList list = new ArrayList(); list.add(&apos;Mohan&apos;); list.add(&apos;Mukesh&apos;); list.add(&apos;RAVI&apos;); list.add(&apos;MuKesH kuMar&apos;); list.add(&apos;Suresh&apos;); for (String str : list) { if (str.equalsIgnoreCase(str1)) { System.out.println(&apos;Mukesh kumar is present&apos;); } } } } 

Produktion:

 Mukesh kumar is present