📜  Java 8 Clock hashCode() 方法和示例

📅  最后修改于: 2022-05-13 01:54:52.295000             🧑  作者: Mango

Java 8 Clock hashCode() 方法和示例

Java Clock 类是Java的日期时间 API Java .time.Clock 的一部分。 Java日期时间 API 是从Java版本 8 添加的。
Clock 类的 hashCode() 方法返回此时钟对象的哈希码。 Clocks 对象根据其状态覆盖此方法。如果时钟对象未被覆盖,则此方法的行为由 Object.hashCode() 定义。如果对象没有改变,哈希码总是相同的。
Hashcode 是 JVM 在创建对象时生成的唯一代码。它可用于对哈希表、哈希图等哈希相关算法执行一些操作。也可以使用其唯一代码(哈希码)搜索对象。

句法:

public int hashCode()

返回:此方法为此时钟方法返回一个合适的哈希码。

例子:

Input:: 
a clock class Object e.g Clock.systemDefaultZone()

Output::
HashCode  e.g. 227139178

Explanation:: 
when hashCode() is called, then it will return a hashCode for Class Object. 

下面的程序说明了Java.time.Clock 类的 hashCode() 方法:

程序 1:使用 systemDefaultZone 创建时钟对象,并使用时钟对象的 hashCode() 获取哈希代码并打印它。

Java
// Java Program to demonstrate
// hashCode() method of Clock class
 
import java.time.*;
 
// create class
public class hashCodeMethodDemo {
 
    // Main method
    public static void main(String[] args)
    {
 
        // create Clock Object
        Clock clock = Clock.systemDefaultZone();
 
        // get hash Code of Clock
        // object using hashCode() method
        int code = clock.hashCode();
 
        // print details of TimeZone
        System.out.println("hash Code for class "
                           + clock + " is " + code);
    }
}


Java
// Java Program to demonstrate
// hashCode() method of Clock class
 
import java.time.*;
 
// create class
public class hashCodeMethodDemo {
 
    // Main method
    public static void main(String[] args)
    {
 
        // create a Zone Id for Calcutta
        ZoneId zoneId = ZoneId.of("Asia/Calcutta");
 
        // create Clock Object by passing zoneID
        Clock clock = Clock.system(zoneId);
 
        // get hash Code of Clock
        // object using hashCode() method
        int code = clock.hashCode();
 
        // print details of TimeZone
        System.out.println("hashCode for clock object "
                           + clock + " is " + code);
    }
}


输出:
hash Code for class SystemClock[Etc/UTC] is 227139178

程序 2:使用 hashCode() 获取带有“Asia/calcutta”区域的时钟对象的 HashCode

Java

// Java Program to demonstrate
// hashCode() method of Clock class
 
import java.time.*;
 
// create class
public class hashCodeMethodDemo {
 
    // Main method
    public static void main(String[] args)
    {
 
        // create a Zone Id for Calcutta
        ZoneId zoneId = ZoneId.of("Asia/Calcutta");
 
        // create Clock Object by passing zoneID
        Clock clock = Clock.system(zoneId);
 
        // get hash Code of Clock
        // object using hashCode() method
        int code = clock.hashCode();
 
        // print details of TimeZone
        System.out.println("hashCode for clock object "
                           + clock + " is " + code);
    }
}
输出:
hashCode for clock object SystemClock[Asia/Calcutta] is -681304889

参考:
https://docs.oracle.com/javase/8/docs/api/java Java