Java_String str=new String("abc")创建了几个对象

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

两个

  • "abc"在字符串常量池创建,这是第一个对象
  • new String(),在堆中分配内存,里面存着这字符串"abc"在字符串常量池中的地址,这是第二个对象
  • str 存储在栈中,里面存储着指向堆中new String()的地址

如果以 String str=“abc"这种方式创建字符串,则只产生一个对象,即字符串常量池中的"abc”,栈中的str中存储着直接指向字符串常量池中的"abc"的地址值。

猜你喜欢

转载自blog.csdn.net/Chill_Lyn/article/details/102640691
今日推荐