永发信息网

stringstr1="abc","abc"分配在内存哪个区域

答案:2  悬赏:70  手机版
解决时间 2021-12-18 22:24
  • 提问者网友:萌卜娃娃
  • 2021-12-18 00:35
stringstr1="abc","abc"分配在内存哪个区域
最佳答案
  • 五星知识达人网友:零点过十分
  • 2021-12-18 01:11
Stringstr=newString("abc");Stringstr="abc";是用两种形式来创建,第一种是用new()来新建对象的,它会在存放于堆中。每调用一次就会创建一个新的对象。而第二种是先在栈中创建一个对String类的对象引用变量str,然后查找栈中有没有存放"abc",如果没有,则将"abc"存放进栈,并令str指向”abc”,如果已经有”abc”则直接令str指向“abc”。
全部回答
  • 1楼网友:山河有幸埋战骨
  • 2021-12-18 02:26
有,第一个在字符串常量区中定义了一个区域,简单的说创建了一个对象,一个引用 第二个在字符常量区里定义了一个区域,在堆里创建了一个区域,在栈里创建了一个引用 简单的举例 如果用 ‘==’ 来将这两个对象做比较,得到的结果是false 当然,equal比较忽略引用,只比较内容,会得到true
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯