当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。