- 博客(2)
- 收藏
- 关注
原创 String
String s1 = new String("abc"),这个过程是创建了1或2个对象。假如字符串常量池中没有"abc",就会在堆中创建String对象"abc",同时在常量池中创建"abc";假如字符串常量池中有"abc",就只会在堆中创建对象。而String s = "abc",则是在字符串常量池中创建了0或者1个对象,取决于之前是否存在"abc"。(2)、假如不存在,则会先在字符串常量池中创建该字符串,再返回其引用。(1)、假如字符串常量池已经存在该字符串,则直接返回其引用;
2024-09-22 09:51:12
406
原创 “==” 和equals()、hashcode()
equals():不可比较基本类型的变量。对于引用对象,未重写前等价于“==”,重写后,比较每个成员变量的值。hashcode():不重写时,一般是根据地址来生成哈希值(由JVM预设哈希算法),重写时,会根据成员变量。hashcode():equals()运行时一般会先比较哈希值以提高效率。equals():不重写时,是直接比较引用对象的地址,重写则是成员变量。“==” :比较基本类型变量的值;
2024-09-20 23:47:17
211
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人