java使用new对象和=的区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/jiangwudidebaba/article/details/89372728

前言:简单说明一下new对象和=对象的区别

先说一下 :

String a = 'test';// 1
String b = new String("test"); 2 

的区别吧

1这种方式JVM会先去共享的字符串池中查找,有没有"test"这个词,如果有直接返回它的引用;如果没有,就会创建这个对象,再返回,。因此,“a”+“b"相当于存在3个对象,分别是"a”、“b”、“ab”。

而new String(“test”),则省去了查找的过程,直接就创建一个b的对象,并且返回引用

创建的对象也是如此,= 比较的是内存地址的位置,如果对象内存地址相等则 a=b 则成立,=是对内存地址的应用

猜你喜欢

转载自blog.csdn.net/jiangwudidebaba/article/details/89372728