{"id":11270,"date":"2024-03-14T13:43:28","date_gmt":"2024-03-14T13:43:28","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/"},"modified":"2025-08-04T09:40:58","modified_gmt":"2025-08-04T09:40:58","slug":"how-is-the-equals-method-used-in-java","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/","title":{"rendered":"Java equals() Method Guide"},"content":{"rendered":"<p>In Java, the equals() method is used to compare if two objects are equal. This method is inherited from the Object class, and therefore can be called by all classes. By default, the equals() method compares if two objects have the same reference, i.e. if they are the same object.<\/p>\n<p>When we want to compare the content of two objects for equality, we need to override the equals() method. Typically, we need to override the equals() method in a custom class to implement custom object comparison logic.<\/p>\n<p>The general steps for overriding the equals() method are as follows:<\/p>\n<ol>\n<li>Check if the parameter is null, if it is null, return false.<\/li>\n<li>Check if the objects are the same reference, if they are, return true.<\/li>\n<li>Check if the objects are of the same type, return false if they are not.<\/li>\n<li>Convert the parameter object to an object of the current class.<\/li>\n<li>Compare each property of the objects to see if they are equal. If all properties are equal, return true, otherwise return false.<\/li>\n<\/ol>\n<p>Here is an example code demonstrating how to override the equals() method.<\/p>\n<pre class=\"post-pre\"><code>public class Person {\r\n    private String name;\r\n    private int age;\r\n\r\n    @Override\r\n    public boolean equals(Object obj) {\r\n        if (this == obj) {\r\n            return true;\r\n        }\r\n\r\n        if (obj == null || getClass() != obj.getClass()) {\r\n            return false;\r\n        }\r\n\r\n        Person person = (Person) obj;\r\n\r\n        if (age != person.age) {\r\n            return false;\r\n        }\r\n\r\n        return name.equals(person.name);\r\n    }\r\n\r\n    public static void main(String[] args) {\r\n        Person person1 = new Person(\"Alice\", 30);\r\n        Person person2 = new Person(\"Alice\", 30);\r\n\r\n        System.out.println(person1.equals(person2)); \/\/ \u8f93\u51fa\u4e3atrue\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the code above, we have rewritten the equals() method of the Person class to compare the name and age properties of Person objects for equality. In the main method, we created two Person objects with the same name and age properties, so calling the equals() method returned true.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Java, the equals() method is used to compare if two objects are equal. This method is inherited from the Object class, and therefore can be called by all classes. By default, the equals() method compares if two objects have the same reference, i.e. if they are the same object. When we want to compare [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[14475,87,180,12643,14476],"class_list":["post-11270","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-equals-method","tag-java","tag-java-programming","tag-object-comparison","tag-override-equals"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Java equals() Method Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Master Java equals() method: default behavior, overriding for content comparison, and best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Java equals() Method Guide\" \/>\n<meta property=\"og:description\" content=\"Master Java equals() method: default behavior, overriding for content comparison, and best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T13:43:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-04T09:40:58+00:00\" \/>\n<meta name=\"author\" content=\"Ava Mitchell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ava Mitchell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/\"},\"author\":{\"name\":\"Ava Mitchell\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\"},\"headline\":\"Java equals() Method Guide\",\"datePublished\":\"2024-03-14T13:43:28+00:00\",\"dateModified\":\"2025-08-04T09:40:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/\"},\"wordCount\":237,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"equals method\",\"Java\",\"Java programming\",\"Object Comparison\",\"override equals\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/\",\"name\":\"Java equals() Method Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T13:43:28+00:00\",\"dateModified\":\"2025-08-04T09:40:58+00:00\",\"description\":\"Master Java equals() method: default behavior, overriding for content comparison, and best practices.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java equals() Method Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\",\"name\":\"Ava Mitchell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"caption\":\"Ava Mitchell\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Java equals() Method Guide - Blog - Silicon Cloud","description":"Master Java equals() method: default behavior, overriding for content comparison, and best practices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/","og_locale":"en_US","og_type":"article","og_title":"Java equals() Method Guide","og_description":"Master Java equals() method: default behavior, overriding for content comparison, and best practices.","og_url":"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T13:43:28+00:00","article_modified_time":"2025-08-04T09:40:58+00:00","author":"Ava Mitchell","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Ava Mitchell","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/"},"author":{"name":"Ava Mitchell","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64"},"headline":"Java equals() Method Guide","datePublished":"2024-03-14T13:43:28+00:00","dateModified":"2025-08-04T09:40:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/"},"wordCount":237,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["equals method","Java","Java programming","Object Comparison","override equals"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/","url":"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/","name":"Java equals() Method Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T13:43:28+00:00","dateModified":"2025-08-04T09:40:58+00:00","description":"Master Java equals() method: default behavior, overriding for content comparison, and best practices.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-is-the-equals-method-used-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Java equals() Method Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64","name":"Ava Mitchell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","caption":"Ava Mitchell"},"url":"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/11270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=11270"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/11270\/revisions"}],"predecessor-version":[{"id":155042,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/11270\/revisions\/155042"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=11270"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=11270"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=11270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}