问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java String字符串池的问题 为什么输出一样,却有true 有false

发布网友 发布时间:2022-05-07 16:51

我来回答

4个回答

热心网友 时间:2023-07-20 20:47

String str = new String("aaa");
首先要明白,这句话创建了2个对象,第一个是括号中的“aaa”对象,其二是new的一个String对象

简单说,执行完毕之后,串池中有一个对象“aaa”,堆中有一个对象“aaa”
str引用指向的是堆中得对象
String str2 = new String("aaa");
执行完毕,堆中又多了一个对象“aaa”,str2引用指向该对象

所以str == str2为false,因为这是2个引用,指向的是2个不用的对象(堆中得对象)

String str3 = "bbb";
String str4 = "bbb"

str3和str4都是指向的串池中得对象;所以为true

热心网友 时间:2023-07-20 20:47

个人理解,上面String str=new String("aaa")所比较的是地址
而后面所比较的是两个字符串的值是否相等
关于String str = "abc "的内部工作。Java内部将此语句转化为以下几个步骤:
(1)先定义一个名为str的对String类的对象引用变量:String str;
(2)在栈中查找有没有存放值为 "abc "的地址,如果没有,则开辟一个存放字面值为 "abc "的地址,接着创建一个新的String类的对象o,并将o的字符串值指向这个地址,而且在栈中这个地址旁边记下这个引用的对象o。如果已经有了值为 "abc "的地址,则查找对象o,并返回o的地址。
(3)将str指向对象o的地址。

热心网友 时间:2023-07-20 20:48

你创建了两个对象str和str2,str和str2存放的不是str,str2的内容 而是字符串的地址,str和str2是两个不同的对象,他们的地址可能相同,也可能不同 所以表达式的值为false

下面你没有创建对象而只是创建了两个变量,所以只是进行变量值得比较 ,发现两个值相同 ,所以返回的是true

热心网友 时间:2023-07-20 20:48

这个问题很经典
主要是理解一下 堆和栈 还有==和equls的区别
str和str2是两个内存地址不同的对象 用==号比较的是内存地址 所以会false
而st3 str4在内存里的状态地址相同。true
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
cpa改分电话可信吗 有人今年收到这样的短信吗? 温馨提示 通知:你此次报考的湖南中级会 ...会计从业资格证,今天有陌生号码打电话说我没过,是真的吗?我都考三... 坠入星河的温柔仙句 惊艳所有人的优美文案 坠入星河的温柔仙句 温柔很仙的宝藏文案 温柔到心坎里的文案句子(温柔且治愈的短句子) 实习期劳务合同简易版 ...企业受伤,如果辞职是否还有补偿?医疗费谁出? 毛晓彤十大经典电视剧 这个锦尚天舞舞蹈里面的音乐是什么?急求 http://m.iqiyi.com/w_19rr... 请问C语言中结构名和结构变量是什么? java中未初始化小程序是什么意思 (java)以下代码在堆中总共创建几个对象; YB/T9256-96中St3级表示啥 Java构造数组对象的问题,如果可以有代码感激不尽,不行也请告知思路,谢谢 java 高手们,问一个问题,关于String java中如何把一个txt文件中的信息保存在数组内存中? 袋鼠打人,海鸥袭人、澳洲的动物到底有多可怕? 谁能给我用这段代码讲一下在Java中为什么被重写的Object类里面的方法会被调用?分别在哪里被调用的 湖南考拉智能科技有限公司怎么样? vhdl语句中“type state is (st0,st1,st2,st3,st4,st5)”是什么意思? sublime text可以编辑java吗 superjunior m成员现在有几个 java代码: 有内行代码删除(注释)后依然可以行。被双斜扛注释这几行代码具体是什么用? 求考拉FM最近更新的《夫妻夜话》中背景英文歌曲 有人愿意进一下(考拉FM)节目大全-段子笑话、软件里的听一下不亦乐乎第181期的背景音乐告诉我是什 考拉用法语怎么说 如何用英语介绍考拉? 高二物理题! 2019最新物理题库广西桂林市2018-2019学年高二上学期期末考试物理试题 java中用Comparator接口实现的类,运行时出现问题 到底如何用sublime text 3生成bib文件并且编译 用java语言输出! 年级安全管理体系由年级组长什么什么和什么构成 学校管理的8个方面分别是? 年级安全管理体系由年级组长什么构成 手机有root,不能使用手机建设银行怎么办? 你好建设银行应用不支持root设置上使用是什么意思请帮我解答一下 哪些是学校必须做安全工作的要求 为了保护您的资金安全,中国农业银行不支持在root设备上使用,这是什么意思啊? 新未成年人保护法的实施,主要细化了哪些责任分布? 手机root不支持建行手机银行怎么办? 社会学概论?是什么 社会学概论(第二版)这门课一共有多少章节? 手机被root进不去建设银行怎么办? 社会学概论 能否介绍一下社会学的具体课程 社会学专业主要学些什么 开设课程有哪些 希腊字母有多少个?具体的读音和写法是怎样的 吃什么水果蔬菜对肾结石好