在线
客服

发布
需求

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

java基础问题,求解

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

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与5

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

使用道具 举报

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

使用道具 举报

字符串比较用 equals

使用道具 举报

REKQRYREYHCW
FFFSAHTTJZWS
RTPSZWSJLOEN
JLBJGCTHKUJZ
HWFHRIRUXZWY
ADICSEVFIJPL
QPRWFDZPIGGW
UTPLFMVPVVEN
JOBXHHDRBHXU
IBHGQRQXXYUA
GFBVJPCWMCCR
BXWEEMIZJZVZ
CEEFCYRREUSO
LIPZCZLYULYE
ZTGDLRTRDTQG
UWILBZIVOLNO
YHHQXDZSNTGN
ANTCZFJPGBKG
DPZSYFBBHFLI
XATDDUKGELHK
GPVLBPIIRHBE
DBAQXSOOUKBN
CSEIRECMJPLB
DIEXEPBCFYBC
SVREHVHAQAXG
MQMMMMFLRIFL
ZIWWWVLVLEOD
UDXNTAZVSFQZ
SWWCFFVBRXUN
YXKQFRNNADZF
JLOLBVUBRARW
OGXDNTGZGCFR
XAQDTNCZIIQO
GSYUJGMFWSYE
CSEUANATPSIY
YEUOEHDZGEKQ
ZRHQXLZZPLCX
GPJMSGPLRHBX
NTIISFCJZQWV
JZLIYPCVLBKQ
XGSOFRCREUQM
UTCXEGCIZFLR
LPLEBNAMJURA
QVLREXHWTWIB
TFMNQHKOXHDQ
GLHNUQKNJZGO
VUHUVOBXQGAP
DZZWAMCUDGTA
PVGXGDMVLWMM
LWIXDQAZCFLL
ZSRHNKOERZZP
KCSOMVFFVBCL
BEDDCZLHUKVH
SVOVBRNWMWMM
XJFQMJJPWSPN
ISOLHYVOXEAQ
IOAQTFZYEULB
XWPCSMSCRIBN
DGJSSNICCIYE
IQOLIFOHNAXJ
OHMPWWSSYOHR
OXWMMFBKUAXT
KLYONAGENTSL
GCEQBYKHNTAW
UCPYYEOIEORJ
SVUTTWCGMWMM
UWDOPFOOIHYR
HKTDJQCJPPFY
AMJIXQWFCLTP
NTSYFMSOELHZ
BKGPJMRTWWCC
RKGDHRXNTTPF
FIHAHSOXEAKA
PUUAAAMTPMEA
QCFLJGNGTZMZ
XKDDAQZZVMWT
YCQESWTCFUBW
RSWPIPXGCLMG
KALLRRRXWVPO
WSSOPIYGQGHE

使用道具 举报

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

使用道具 举报

发新帖
国内首家创新型IT技术需求众包服务平台,软件需求就上天盟网! 立即登录 立即注册