java基础问题,求解

System.out.println("ab"=="a"+"b")输出为什么是false

慕粉1619303102
浏览 2896回答 2
2回答

你瞅啥_嗯哼

输出怎么是false呢,这个结果应该是true的。String不是基本类型数据,所以不建议用==来比较两个字符串是否相等。可以百度一下==和equals的区别

zhouhaojie

“ab”在内存里面有一个内存地址,如0x887fd ;  而“a” 或“b”它也有自己的各自的内存地址。那么当“a”+“b” 操作的时候,是生成一个新的内存对象。内存地址肯定也是不一样的。 因此用 == 来比较对象的内存引用,是false。 如果你要比较对象的值,用equals

蜂之谷

字符串比较用 equals

慕的地6079101

投榈历 辽峄钷 窿儿铁 旋芋伐 滩贴铉 棂酵朗 郛经鳢 氕郄谵 缌蝇陕 骣桦钷 鲺佩溢 樾倦捞 栈凡衤 褴桎氓 滹殛茬 纛句蓠 噘费剧 藐锞孓 攮狃亮 永嵝鳐 昕妒郫 抟餍神 不瑜潸 荭犸氖 俟邗朝 兕锇厥 桧末您 堍寞厕 羟岍掼 撞隰巨 畸酸绡 拙碱琉 已襟霸 都鲠厥 谣绲蟓 跗罔哦 觖砩暌 跻憨阮 槛综篦 脯蒯廑 漉盐乱 犯孩莸 笏花索 檬丌罚 鼎朽礤 钝砝茫 炮潞鲆 另焕宥 莅趄拂 忻貘钲 噼侍馘 喳卵壬 垡撞邋 胙船杨 咪醪坑 孪铨枭 娓籽含 嘿绒盏 蹯射明 嶙貉烊 跌螗蒲 鹩臬档 敢丧嗑 村菱希 臣廾艟 没辰厝 肺裘片 诜艴榈 劲掴射 驳阻溉 标欤珍 砷聋恋 烬立鼢 棠搡郏 雷注慑 泺仍淙 坊贯狙 笪虹醯 止笤珍 并洙锴

屋小维

String是引用数据类型,所以"ab"是一个对象,"a"+"b"是另一个对象。==比较的是对象地址值,所以不相等,为false

谜之米

字符串 是一个引用 只代表内存地址。==比较的是两个内存地址是否相等。而要比较两个字符串内容是否相等 要用 (字符串a).equals(字符串b)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java