equals是对值进行比较,最终是比较的基本类型,==则是你理解的那样,必须是同一个对象,指向同一个地址。这就是两者的区别。 String s1="hello"; String s2="hello"; 这里比较会发现 s1 == s2 是因为编译器会在编译的时候发现两者相同,所以指向同一个对象以节省内存。如果s2是动态生成的(写成 String s2 = "h" + "ello"是会被编译器优化的成"hello"的) 就不会==
Object.equals()
最新推荐文章于 2023-04-24 11:46:41 发布