ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
1.根据ASCII相加得到 ``` /** * hashcode的计算方式为,以31为权重,举例“java”字符串的计算 * j 的 ASCII码 为 106 * a 的 ASCII码 为 97 * v 的 ASCII码 为 118 * 字符串 va 的 hashcode为 118 * 31 + 97 * 字符串 java 的 hashcode为 106 * 31 * 31 * 31 + 97 * 31 * 31 + 118 * 31 + 97 */ System.out.println(Integer.valueOf('j')); //ASCII码:106 System.out.println(Integer.valueOf('a')); //ASCII码:97 System.out.println(Integer.valueOf('v')); //ASCII码:118 System.out.println(Integer.valueOf('a')); //ASCII码:97 int hashcode = 106 * 31 * 31 * 31 + 97 * 31 * 31 + 118 * 31 + 97; System.out.println("hashCode计算的值:" + hashcode); //3254818 System.out.println("Objects hashCode:" + Objects.hashCode("java") ); //3254818 System.out.println("String hashCode:" + "java".hashCode()); //3254818 //Objects.hash在上面的计算方式基础上额外增加了31 System.out.println("Objects hash:" + (3254818 + 31)); //3254849 System.out.println("Objects hash:" + Objects.hash("java") ); //3254849 ```