{"id":21660,"date":"2024-03-15T22:25:28","date_gmt":"2024-03-15T22:25:28","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/"},"modified":"2024-03-21T21:01:06","modified_gmt":"2024-03-21T21:01:06","slug":"how-to-override-the-hashcode-method-in-java","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/","title":{"rendered":"How to override the hashCode method in Java?"},"content":{"rendered":"<p>To rewrite the hashCode() method, you need to follow the following steps:<\/p>\n<ol>\n<li>The method hashCode()<\/li>\n<li>Integer<\/li>\n<li>Return the hash code value for the object.<\/li>\n<li>equals() means comparing two objects to determine if they are equivalent.<\/li>\n<li>Returns a unique identifier for an object.<\/li>\n<li>Items<\/li>\n<li>Compute the hash value<\/li>\n<\/ol>\n<p>Here is an example demonstrating how to rewrite the hashCode() method.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title class_\">Person<\/span> {\r\n    <span class=\"hljs-keyword\">private<\/span> String name;\r\n    <span class=\"hljs-keyword\">private<\/span> <span class=\"hljs-type\">int<\/span> age;\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u6784\u9020\u51fd\u6570\u548c\u5176\u4ed6\u65b9\u6cd5...<\/span>\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u91cd\u5199hashCode()\u65b9\u6cd5<\/span>\r\n    <span class=\"hljs-meta\">@Override<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-type\">int<\/span> <span class=\"hljs-title function_\">hashCode<\/span><span class=\"hljs-params\">()<\/span> {\r\n        <span class=\"hljs-keyword\">return<\/span> Objects.hash(name, age);\r\n    }\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u91cd\u5199equals()\u65b9\u6cd5<\/span>\r\n    <span class=\"hljs-meta\">@Override<\/span>\r\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-type\">boolean<\/span> <span class=\"hljs-title function_\">equals<\/span><span class=\"hljs-params\">(Object obj)<\/span> {\r\n        <span class=\"hljs-keyword\">if<\/span> (<span class=\"hljs-built_in\">this<\/span> == obj) {\r\n            <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">true<\/span>;\r\n        }\r\n        \r\n        <span class=\"hljs-keyword\">if<\/span> (obj == <span class=\"hljs-literal\">null<\/span> || getClass() != obj.getClass()) {\r\n            <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">false<\/span>;\r\n        }\r\n        \r\n        <span class=\"hljs-type\">Person<\/span> <span class=\"hljs-variable\">person<\/span> <span class=\"hljs-operator\">=<\/span> (Person) obj;\r\n        <span class=\"hljs-keyword\">return<\/span> age == person.age &amp;&amp; Objects.equals(name, person.name);\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>In the example above, the hashCode() method utilizes the Objects.hash() method to calculate the hash code. This method automatically computes the hash code based on the provided parameters. In this example, we use the name and age properties to calculate the hash code, which are also utilized in the equals() method.<\/p>\n<p>It is important to rewrite the equals() method when rewriting the hashCode() method to ensure the correct behavior of the object in hash collections like HashSet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To rewrite the hashCode() method, you need to follow the following steps: The method hashCode() Integer Return the hash code value for the object. equals() means comparing two objects to determine if they are equivalent. Returns a unique identifier for an object. Items Compute the hash value Here is an example demonstrating how to rewrite [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-21660","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"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>How to override the hashCode method in Java? - Blog - Silicon Cloud<\/title>\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-to-override-the-hashcode-method-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to override the hashCode method in Java?\" \/>\n<meta property=\"og:description\" content=\"To rewrite the hashCode() method, you need to follow the following steps: The method hashCode() Integer Return the hash code value for the object. equals() means comparing two objects to determine if they are equivalent. Returns a unique identifier for an object. Items Compute the hash value Here is an example demonstrating how to rewrite [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-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-15T22:25:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T21:01:06+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=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/\"},\"author\":{\"name\":\"Ava Mitchell\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\"},\"headline\":\"How to override the hashCode method in Java?\",\"datePublished\":\"2024-03-15T22:25:28+00:00\",\"dateModified\":\"2024-03-21T21:01:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/\"},\"wordCount\":144,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/\",\"name\":\"How to override the hashCode method in Java? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T22:25:28+00:00\",\"dateModified\":\"2024-03-21T21:01:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to override the hashCode method in Java?\"}]},{\"@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":"How to override the hashCode method in Java? - Blog - Silicon Cloud","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-to-override-the-hashcode-method-in-java\/","og_locale":"en_US","og_type":"article","og_title":"How to override the hashCode method in Java?","og_description":"To rewrite the hashCode() method, you need to follow the following steps: The method hashCode() Integer Return the hash code value for the object. equals() means comparing two objects to determine if they are equivalent. Returns a unique identifier for an object. Items Compute the hash value Here is an example demonstrating how to rewrite [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T22:25:28+00:00","article_modified_time":"2024-03-21T21:01:06+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":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/"},"author":{"name":"Ava Mitchell","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64"},"headline":"How to override the hashCode method in Java?","datePublished":"2024-03-15T22:25:28+00:00","dateModified":"2024-03-21T21:01:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/"},"wordCount":144,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/","name":"How to override the hashCode method in Java? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T22:25:28+00:00","dateModified":"2024-03-21T21:01:06+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-override-the-hashcode-method-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to override the hashCode method in Java?"}]},{"@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\/21660","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=21660"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/21660\/revisions"}],"predecessor-version":[{"id":55534,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/21660\/revisions\/55534"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=21660"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=21660"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=21660"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}