當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java System.identityHashCode()用法及代碼示例


java.lang.System.identityHashCode()是用於為默認方法hashCode()返回的任何給定對象返回相同哈希碼的方法。同樣,對於每個具有空引用的哈希碼,將返回零。

要記住的要點:

  • 默認情況下,每個類都隱式或顯式提供hashCode()方法
  • 哈希碼通常是從任何對象生成的數字,它允許在哈希表中非常快速地存儲或檢索對象。
  • 在Java中,默認情況下,hashCode()是本機方法,這意味著當直接在JVM的本機代碼中實現時,該方法具有修飾符“本機”。
  • 用於將存儲在類實例中的所有數據摘要為單個哈希值,即32位有符號整數。
  • 用法:


public static int identityHashCode(Object x)

參數:參數x屬於Hash類型,是指需要計算的hashCode。

返回值:此方法返回hashCode。

以下程序說明了java.lang.System.identityHashCode()方法的使用。

程序1:

// Java program to demonstrate working 
// of java.lang.System.identityHashCode() method. 
import java.lang.*; 
import java.io.*; 
  
public class SystemCode1 { 
  
    public static void main(String[] args) throws Exception 
    { 
  
        File filename1 = new File("Welcome"); 
        File filename2 = new File("Welcome"); 
        File filename3 = new File("Geek"); 
        File filename4 = new File("World"); 
  
        // Returns the HashCode 
        int returnvalue1 = System.identityHashCode(filename1); 
        System.out.println(returnvalue1); 
  
        // Returns different HashCode for same filename 
        int returnvalue2 = System.identityHashCode(filename2); 
        System.out.println(returnvalue2); 
  
        // Returns the HashCode 
        int returnvalue3 = System.identityHashCode(filename3); 
        System.out.println(returnvalue3); 
  
        // Returns the HashCode 
        int returnvalue4 = System.identityHashCode(filename4); 
        System.out.println(returnvalue4); 
    } 
}
輸出:
589431969
1252169911
2101973421
685325104

說明:
在上述程序中,即使對象具有相同的名稱,也會從對象生成不同的哈希碼或數字。像這裏一樣,我們可以看到前兩個術語相同,即“Welcome”,但是我們有兩個不同的值,分別是

  • 589431969
  • 1252169911

分別用於第一次和第二次歡迎

程序2:

// Java program to demonstrate working 
// of java.lang.System.identityHashCode() method. 
import java.lang.*; 
import java.io.*; 
  
public class SystemCode2 { 
  
    public static void main(String[] args) throws Exception 
    { 
  
        File filename1 = new File("10"); 
        File filename2 = new File("shyam"); 
        File filename3 = new File("s12"); 
        File filename4 = new File("s12"); 
  
        // Returns the HashCode 
        int returnvalue1 = System.identityHashCode(filename1); 
        System.out.println(returnvalue1); 
  
        // Returns the HashCode 
        int returnvalue2 = System.identityHashCode(filename2); 
        System.out.println(returnvalue2); 
  
        // Returns different HashCode for same filename 
        int returnvalue3 = System.identityHashCode(filename3); 
        System.out.println(returnvalue3); 
  
        // Returns different HashCode for same filename 
        int returnvalue4 = System.identityHashCode(filename4); 
        System.out.println(returnvalue4); 
    } 
}
輸出:
589431969
1252169911
2101973421
685325104


相關用法


注:本文由純淨天空篩選整理自ankita_chowrasia大神的英文原創作品 System.identityHashCode() Method in Java With Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。