Java Enum hashCode()方法与示例

枚举类hashCode()方法

  • hashCode()方法在java.lang包中可用。

  • hashCode()方法用于检索此枚举常量的哈希码。

  • hashCode()方法是一种非静态方法,仅可通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • hashCode()方法是最终方法,它不会在子类中重写。

  • hashCode()方法在返回枚举常量的哈希码时不会引发异常。

语法:

    public final int hashCode();

参数:

  • 它不接受任何参数。

返回值:

此方法的返回类型为int,它返回此枚举常量的哈希码,并且哈希码为整数类型。

示例

//Java程序演示示例 
//hashCode()枚举方法int的方法

enum Month{
    
    JAN,FEB,MAR,APR,MAY;
}

public class HashCode {
    public static void main(String args[]){
        
        //通过使用hashcode()方法是获取枚举
        //给定枚举常量的哈希码
        int h1 = Month.JAN.hashCode();
        int h2 = Month.FEB.hashCode();
        int h3 = Month.MAR.hashCode();
        int h4 = Month.APR.hashCode();
        int h5 = Month.MAY.hashCode();
        
        System.out.println("Display Hashcode :");
        
        System.out.println("Month.JAN.hashCode() "+ " "+ h1);
        System.out.println("Month.FEB.hashCode()"+ " "+ h2);
        System.out.println("Month.MAR.hashCode()"+ " "+ h3);
        System.out.println("Month.APR.hashCode()"+ " "+ h4);
        System.out.println("Month.MAY.hashCode()"+ " "+ h5);       
    }     
}

输出结果

Display Hashcode :
Month.JAN.hashCode()  1785210046
Month.FEB.hashCode() 1552787810
Month.MAR.hashCode() 1361960727
Month.APR.hashCode() 739498517
Month.MAY.hashCode() 125130493