string类的一些用法
直接上图了图片上 这两种有什么区别 为什么第二种会是true。详细讲下 谢谢 Java中,字符串相同的都指向同一个地址,用于提升效率
所以str1和str2内存地址相同
但是如果利用new String("")方法创建的对象,内存地址会另外分配
因为 == 比较的是内存地址,equals才是比较内容
所以
str1 == str2 True
tom == jerry False 第一个比较的是比较的是对象的地址,而第二个比较的是对象的值 因为new的String会自动开辟内存单元,两个new的地址明显不同,而,直接字符串赋值会保存在静态区,地址是一样的,没有就创建,有就直接指向该内存单元,求采纳
页:
[1]