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
相關用法
- Java Java.util.Collections.disjoint()用法及代碼示例
- Java Java lang.Long.byteValue()用法及代碼示例
- Java Java lang.Long.highestOneBit()用法及代碼示例
- Java Java lang.Long.numberOfLeadingZeros()用法及代碼示例
- Java Java.util.Collections.rotate()用法及代碼示例
- Java Java lang.Long.lowestOneBit()用法及代碼示例
- Java Java lang.Long.numberOfTrailingZeros()用法及代碼示例
- Java Java lang.Long.builtcount()用法及代碼示例
- Java Java lang.Long.reverse()用法及代碼示例
- Java Clock tickMinutes()用法及代碼示例
- Java Clock withZone()用法及代碼示例
- Java Map get()用法及代碼示例
- Java Set add()用法及代碼示例
注:本文由純淨天空篩選整理自ankita_chowrasia大神的英文原創作品 System.identityHashCode() Method in Java With Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。