String s1 = new String(“abc“) 在内存中创建了几个对象?

  • Post author:
  • Post category:其他




String s1 = new String(“abc”) 在内存中一共创建了几个对象?

一个或者两个。

分情况讨论。

1、等号左边的String s1 是声明了一个 String 类型的 s1 变量,它不是对象。再来看等号右边,使用new关键字,会在堆中创建一个对象,另外会在常量池中创建一个常量”abc”,所以一共创建了两个对象。

2、如果 “abc”在常量池中已经存在的话,那么就只会创建一个对象。



版权声明:本文为weixin_42395998原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。