java - Java比较对象的效率
问题描述
在Java里面比较String Object的Hashcode和直接比较String Object两者谁更高效,为什么
public static void main(String[] args) {
String a = "Hello";
String b="Hello";
int i = a.hashCode();
System.out.println(i);
int v = b.hashCode();
System.out.println(v);
if (i==v){
System.out.println("ture");
}else {
System.out.println("false");
}
}
解决方案
hashCode
s 是一条捷径,而不是真正的平等测试。相等的两个对象应该具有相同的哈希码,但相反不一定正确。例如,字符串"BBAa"
和"AaBB"
具有相同的哈希码(至少在 OpenJDK 8 中,它们都是 2031744),但绝对不相等。
推荐阅读
- javascript - Chart.js 折线图:在图的中间开始一条线
- c - 无法在 M1 Mac 上使用 VSC 调试 C 程序
- sql - Oracle 难以创建具有子查询的过程
- xml - 谷歌 IMPORTXML 将 Shopee 价格抓取到谷歌表
- python - 如何获取 NetworkX 图形集中的图形数量?
- javascript - 如何在 html 代码中注入 javascript 函数代码?
- prolog - 术语的安全排序
- php - Laravel orWherehas 过滤多列关系
- r - R bslib 更改导航栏颜色引导版本 5
- javascript - 使用参数访问网站时出现404错误(vuejs)