String equalsIgnoreCase​ method in java with example - Internal Implementation

String equalsIgnoreCase​ method in java:

In this post, We will learn more about java.lang.String.equalsIgnoreCase​() method as following today.

Step 1) What equalsIgnoreCase​ method does or method description
Step 2) Syntax, Parameters, Return type
Step 3) Example 1:  Program to check equalsIgnoreCase​ method
Step 4) Example 2:  Program to find the string is present in the List
Step 5) Difference between equals and equalsIgnoreCase
Step 6) How equalsIgnoreCase​ works internally and implementation code.

Step 1) What equalsIgnoreCase​ method does or method description

equalsIgnoreCase​ method compares this string to the specified object ignoring case. The result is true if and only if the argument is not null and is a String object that represents the same sequence of characters as this object ignoring case. It simply ignores the case whether it is lower case or upper case.

String equalsIgnoreCase​ method in java

For example:

Read How String equals methods works in java with example programs.

Two strings are considered equal ignoring case if they are of the same length and corresponding characters in the two strings are equal ignoring case.


Two characters c1 and c2 are considered the same ignoring case if at least one of the following is true:

    The two characters are the same (as compared by the == operator)
    Calling Character.toLowerCase(Character.toUpperCase(char)) on each character produces the same result

This is very common method that is used in all java based applications for comparing two strings. Mostly the basic import interview questions for 2-3 years experience developer.

Step 2) Syntax, Parameters, Return type:


public boolean equalsIgnoreCase​(String anotherString)


Refer in oracle java api for equalsIgnoreCase

Parameters:

anotherString - The String to compare this String against

Returns:

true if the argument is not null and it represents an equivalent String ignoring case; false otherwise

Examples:


Input 1 : str1 = "Hello";
str2 = "HeLlO"
str2.equalsIgnoreCase(str1);

Output 1 : true

Explanation - Hello and HeLlO are having same characters in both strings.

Input 2: str1 = "Hello";
str2 = "HellA"
str2.equalsIgnoreCase(str1);

Output 2: false


Explanation: Hello and HellA are different strings because HellA has different character at 4th index. That makes both are different strings.

Step 3) Java String equalsIgnoreCase​ method Example:


In this program, We will learn how to use equalsIgnoreCase​ method to compare two strins.

package examples.java.w3schools.string;

public class StringequalsIgnoreCaseExample {
public static void main(String[] args) {

String str1 = "java";
String str2 = "w3schools";

String str3 = "JAVA";
String str4 = "W3School";

System.out.println("Comparing str1 and str3 using method equalsIgnoreCase : " + str1.equalsIgnoreCase(str3));
System.out.println("Comparing str2 and str4 using method equalsIgnoreCase : " + str2.equalsIgnoreCase(str4));
}
}

Output: 

The above program produces the following output.

Comparing str1 and str3 using method equalsIgnoreCase : true
Comparing str2 and str4 using method equalsIgnoreCase : false

Step 4) Finding the string is present in the List using equalsIgnoreCase:


In the below program, taking a list that contains technology names in it and all are in the lowercase. Now we will have to find out that "JAVA" is present in the list. If "JAVA" is found in the list, have to print Java technology is the best programming language.

import java.util.ArrayList;
import java.util.List;

public class StringListEqualsIgnoreCaseExample {
public static void main(String[] args) {

List technologies = new ArrayList<>();
technologies.add("java");
technologies.add("hadoop");
technologies.add("html");
technologies.add("css");

for (String technology : technologies) {
if ("JAVA".equalsIgnoreCase(technology)) {
System.out.println("Java technology is the best programming language");
}
}
}
}

Output:

Java technology is the best programming language

Step 5) Difference between equals and equalsIgnoreCase:

Guess, before going to see the differences.. by this time, you must be knowing it.

1) Equals() method does comparison each character is same in both string.
2) Equals method check case strictly. That means it does case sensitive comparison.
3) equalsIgnoreCase method ignores case and compares only values.. this is case-insensitive.

How do you ignore a case in Java?

We can ignore the case using toLower() method or comparing strings equalsIgnoreCase method.

Step 6) How equalsIgnoreCase works internally in String:

Internal Implementation:

equalsIgnoreCase method is present in String class and package java.lang.String. Also, we will learn How does equalsIgnoreCase work in Java.

Internal code in java 8 and java 11 versions.

Java 8 internal code:


 public boolean equalsIgnoreCase(String paramString)
{
return this == paramString;
}

Java 11 internal code:

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

If you have any questions, Please post in the comments section for answers.

0 Comments