String使用equals和==比較的區別


 

https://www.cnblogs.com/smyhvae/p/3929585.html

 

“==”操作符的作用

1、用於基本數據類型的比較

2、判斷引用是否指向堆內存的同一塊地址。

equals的作用:

用於判斷兩個變量是否是對同一個對象的引用,即堆中的內容是否相同,返回值為布爾類型

String類型比較不同對象內容是否相同,應該用equals,因為==用於比較引用類型和比較基本數據類型時具有不同的功能。

基本數據類型(也稱原始數據類型) :byte,short,char,int,long,float,double,boolean。他們之間的比較,應用雙等號(==),比較的是他們的值。

引用數據類型:當他們用(==)進行比較的時候,比較的是他們在內存中的存放地址(確切的說,是堆內存地址)。

注:對於第二種類型,除非是同一個new出來的對象,他們的比較后的結果為true,否則比較后結果為false。因為每new一次,都會重新開辟堆內存空間。

== 的作用:

  基本類型:比較的就是值是否相同

  引用類型:比較的就是地址值是否相同

equals 的作用:

  引用類型:默認情況下,比較的是地址值。

注:不過,我們可以根據情況自己重寫該方法。一般重寫都是自動生成,比較對象的成員變量值是否相同


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM