String两种创建方式的区别
创建String有两种方式:
方式一:直接赋值 String s = "jack";
方式二:调用构造器 String s2 = new String("jack")
方式一: 先从常量池查看是否有"jack"数据空间,如果有,直接指向;如果没有则重新创建,然后指向。s最终指向的是常量池的空间地址
方式二: 现在堆中创建空间,里面维护了value属性,指向常量池的jack空间。如果常量池没有“jack”,重新创建,如果有,直接通过value指向。最终指向的是堆中的空间地址。


浙公网安备 33010602011771号