卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

java是什么語言 java如何比較字符串?

java如何比較字符串?java中的字符串比較方法: 1)dustring1.equals(string2) 2) str1==str2 。java中字符串的比較是==比較引用,equals 比較值的

java如何比較字符串?

java中的字符串比較方法:

 1)dustring1.equals(string2)

 2) str1==str2 。

java中字符串的比較是==比較引用,equals 比較值的做法。但是不同的聲明方法字符串的比較結(jié)果也是不同的。


例如: String str1=new String("a")

String str2=new String("a")

str1==str2 輸出false

str1.equals(str2) 輸出true

而如果這樣聲明

String str1="a"

String str2="a"

str1==str2 輸出true

str1.equals(str2) 輸出true

這是因?yàn)?equals 方法本來也是比較引用的字符串類在實(shí)現(xiàn)的時(shí)候重寫了該方法。



  第一種聲明方法等于是聲明了兩個(gè)對(duì)象,用’==‘比較是時(shí)候比較的是引用輸出的是false 由于他們的值相同用equals的時(shí)候就比較的是值了,輸出true。

  第二種情況不是因?yàn)楸容^有與第一種有差異,而是因?yàn)槁暶饔胁町?,第二種聲明方法在聲明的時(shí)候有堆或堆棧 共用的現(xiàn)象,也就是說 在聲明的時(shí)候如果如果聲明為類屬性他會(huì)檢查在堆棧中有沒有與現(xiàn)在聲明的是相同結(jié)構(gòu)的字符串。如果有就直接將地址指向已有內(nèi)存地址。聲明在方法內(nèi)部的局部變量原理一樣只不過他是堆棧共享。