国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Java中判斷字符串是否相等的實現

瀏覽:4日期:2022-08-17 17:06:43

在最近的開發(fā)中,我踩到一個坑,過程是這樣的。我需要在Java中判斷兩個字符串是否相等,按照以往的經歷使用 == 雙等號的操作符來判斷,但是在Java中,這樣寫卻沒有實現我想要的效果。經過查閱資料后,把得到的經驗分享給大家。

相等判斷操作符==

Java中,==相等判斷符用于判斷基本數據類型和引用數據類型。 當判斷基本數據類型的時候判斷的是數值,當判斷引用數據類型時判斷變量是否指向同一引用對象。

使用==判斷字符串時,判斷的是兩個字符串是否指向同一個對象。如果兩個字符串指向同一個對象,那么它們就是相同的,使用==比較的結果也就是True。如果兩個字符串指向不同的對象,那么它們不相同,使用==比較的結果也就是False。通過字面賦值的時候,相同的字符串會指向同一個對象,例如:

String str1='abcde';// 把'abcde'放入常量池中,編譯時產生String str2='abcde';// 引用常量池中的對象,不會重新創(chuàng)建對象str1 == str2; //str1和str2指向同一個對象,結果是true

但如果另有一個str3,不是通過這種字面的方式被賦值的,即便str3的值也是'abcde',例如:

String str3 = new String('abcde');//運行時把'abcde'放入堆里面,在堆中創(chuàng)建一個對象str1 == str3; //str1和str3指向不同的對象,結果是false相等判斷方法equals()

在Java中,可以使用equals()方法判斷字符串的內容是否相同。

String str1='abcde';String str3 = new String('abcde');str1.equals(str3);//str1和str3的值一樣,結果是true str1 == str3; //str1和str3指向不同的對象,結果是falseequals()方法原理

為什么可以使用equals()方法呢,我們看下String 類中的 equals()方法的源碼。

public boolean equals(Object anObject) { if (this == anObject) { //先比較兩個字符串的引用是否相等(是否指向同一個對象), 是直接返回true return true; } if (anObject instanceof String) { //兩個引用不等還會繼續(xù)比較 String anotherString = (String)anObject; int n = value.length; if (n == anotherString.value.length) { char v1[] = value; //字符串類是用字符數組實現的, 先要拿到兩個字符串的字符數組 char v2[] = anotherString.value; int i = 0; while (n-- != 0) { //然后對兩個數組逐個字符地進行比較if (v1[i] != v2[i]) return false;i++; } return true; } } return false;}

從上面的源碼可以看到, 當調用 String 類型數據的equals()方法時,首先會判斷兩個字符串的引用是否相等,也就是說兩個字符串引用是否指向同一個對象,是則返回true。如果不是指向同一個對象,則把兩個字符串中的字符挨個進行比較。

總結

上述就是我為大家分享的java判斷兩個字符串是否相等的方法了,如果您也有類似的疑惑,不妨礙參照上述分析進行理解。在不斷的學習中,我相信會有更多的經驗分享,歡迎大家持續(xù)關注。

到此這篇關于Java中判斷字符串是否相等的實現的文章就介紹到這了,更多相關Java 字符串相等內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 国产在线拍揄自揄视精品不卡 | 国产精品免费综合一区视频 | 成人国产视频在线观看 | 精品一区二区三区高清免费不卡 | 久久亚洲国产精品一区二区 | 女人张开腿等男人桶免费视频 | 日韩午夜在线 | 亚洲性久久久影院 | 久久93精品国产91久久综合 | 九九综合九九 | 欧美成人aaaa免费高清 | 国产亚洲欧美日韩综合综合二区 | 午夜视频在线观看一区 | 成视频年人黄网站免费 | 在线观看精品视频 | 久草在线免费新视频 | 国产片网站 | 欧美一区二区精品系列在线观看 | 欧美成人全部视频 | 国内精品久久久久久中文字幕 | 欧美成人xxx | 日韩美女网站 | 亚洲综合射 | 亚洲haose在线观看 | 久久污 | 欧美大片a一级毛片视频 | 我要看欧美精品一级毛片 | 久草在线视频在线观看 | 一个人看的www片免费视频中文 | 国产伦理久久精品久久久久 | 久久久黄色大片 | 成人亚洲欧美日韩在线 | 日韩黄色毛片 | 国产一区二区三区在线观看精品 | 国产一区二区三区四区在线 | 综合久色 | 日韩18在线观看地址 | 国产91久久精品一区二区 | 亚洲免费人成在线视频观看 | 国产日本欧美在线观看 | 亚洲成在人 |