$show=/label

Java | Difference between String.equals() and String.contentEquals() method?

SHARE:

Learn what is the differenc between String.equals() and String.contentEquals() method? Example on String.equals() and String.contentEquals() method, String equals() vs contentEquals() method.

What is the difference between String.equals() and String.contentEquals() method?

In this post, We will learn What is the difference between String.equals() and String.contentEquals() method in java? Simply contentequals vs equals  for these string methods.

Both these methods are present in the String class in java.

Read the article on Examples on String contentEquals method.

Syntax:

boolean equals​(Object anObject)
public boolean contentEquals​(CharSequence cs)

Difference between String.equals() and String.contentEquals() method?

String equals() VS contentEquals():

The equals() method is to compare the contents of two Strings are same whereas contentEquals method is to compare String with StringBuffer or StringBuilder. But both are to compare the contents. In other words, contentEquals method does equals() method + additional comparison with StringBuffer, StringBuilder, etc.

Equals method:

Equals() method does Comparing this string to the specified object. In this case, both should be Strings.
1) This String should be String
2) Specified String also should be String.

The result is true if and only if the specified object is not null and is a String object that represents the same sequence of characters as this object. 

contentEquals​ method:

This does Compare this string to the specified CharSequence. 

All Known Implementing Classes of CharSequence: CharBuffer, Segment, String, StringBuffer, StringBuilder 

In this case,
1) This String should be String
2) Specified String should be CharSequence. I.e. Implementation of CharSequence, that can be StringBuffer or StringBuilder or etc.

I would recommend you to understand how contentEquals method works internally or an internal implementation.

contentEquals method internal implementaion

equals method internal implementation

Example program to see difference between equals and contentEquals methods:


In this program, We will compare the following use cases.


Equals Vs ContentEquals Example


1) Compare String with String using equals method.
2) Compare String with StringBuffer using equals method.
3) Compare String with String using contentEquals method.
4) Compare String with StringBuffer using contentEquals method.

5) Compare String with StringBuilder using contentEquals method.



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

  String string1 = "Hello"; // This is String 1
  String string2 = "Hello"; // This is String 2

  StringBuffer buffer1 = new StringBuffer("Hello"); // This is StringBuffer
  StringBuilder builder1 = new StringBuilder("Hello"); // This is StringBuilder

  // 1. Comparing String with String using equals method.

  boolean result1 = string1.equals(string2);
  System.out.println("Comparing String with String using equals method : " + result1);

  // 2. Comparing String with StringBuffer using equals method.

  boolean result2 = string1.equals(buffer1);
  System.out.println("Comparing String with StringBuffer using equals method : " + result2);

  // 3. Comparing String with String using contentEquals method.

  boolean result3 = string1.contentEquals(string2);
  System.out.println("Compare String with String using contentEquals method : " + result3);
  
  // 4. Comparing String with StringBuffer using contentEquals method.
  
  boolean result4 = string1.contentEquals(buffer1);
  System.out.println("Comparing String with StringBuffer using contentEquals method : " + result4);
  
  // 5. Compare String with StringBuilder using contentEquals method.
  
  boolean result5 = string1.contentEquals(builder1);
  System.out.println("Compare String with StringBuilder using contentEquals method : " + result5);
 }
}



Output:

The above program produces the following output.


Comparing String with String using equals method : true
Comparing String with StringBuffer using equals method : false
Compare String with String using contentEquals method : true
Comparing String with StringBuffer using contentEquals method : true
Compare String with StringBuilder using contentEquals method : true

Observe case 2, we passed StringBuffer to the equals method but it returned false. Because it has a check if the passed object is an instance of String. If not, returns false.
Please write your questions in comments section.






COMMENTS

BLOGGER

About Us

Author: Venkatesh - I love to learn and share the technical stuff.
Name

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,16,Arrays,16,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,5,Collections,23,Collector,1,Command Line,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,84,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,12,Dictionary,1,Difference,1,Download,1,Eclipse,2,Efficiently,1,Error,1,Errors,1,Exception,1,Exceptions,3,Fast,1,Files,10,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,4,Grant,1,Grep,1,HashMap,1,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,5,Iterate,2,Jackson API,3,Java,30,Java 10,1,Java 11,5,Java 12,5,Java 13,2,Java 14,2,Java 8,77,Java 8 Difference,2,Java 8 Stream Conversions,2,java 8 Stream Examples,3,Java 9,1,Java Conversions,11,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,93,java.lang,5,java.util. function,1,jQuery,1,Kotlin,10,Kotlin Conversions,3,Kotlin Programs,6,Lambda,1,lang,29,Leap Year,1,live updates,1,Logging,1,Mac OS,2,Math,1,Matrix,5,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,23,String,58,String Programs,12,String Revese,1,Swing,1,System,1,Tags,1,Threads,10,Tomcat,1,Tomcat 8,1,Troubleshoot,16,Unix,2,Updates,3,util,5,While Loop,1,
ltr
item
JavaProgramTo.com: Java | Difference between String.equals() and String.contentEquals() method?
Java | Difference between String.equals() and String.contentEquals() method?
Learn what is the differenc between String.equals() and String.contentEquals() method? Example on String.equals() and String.contentEquals() method, String equals() vs contentEquals() method.
https://2.bp.blogspot.com/-ycioKX4YA64/XIH7jhtlsWI/AAAAAAAABHE/RHJR9G8Lrzk586cn8Z0WPN5e8zOKRk8hQCLcBGAs/s640/Difference%2Bbetween%2BString.equals%2528%2529%2Band%2BString.contentEquals%2528%2529%2Bmethod.PNG
https://2.bp.blogspot.com/-ycioKX4YA64/XIH7jhtlsWI/AAAAAAAABHE/RHJR9G8Lrzk586cn8Z0WPN5e8zOKRk8hQCLcBGAs/s72-c/Difference%2Bbetween%2BString.equals%2528%2529%2Band%2BString.contentEquals%2528%2529%2Bmethod.PNG
JavaProgramTo.com
https://www.javaprogramto.com/2019/03/difference-equals-contentequals.html
https://www.javaprogramto.com/
https://www.javaprogramto.com/
https://www.javaprogramto.com/2019/03/difference-equals-contentequals.html
true
3124782013468838591
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content