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