日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

“==”和equals()的用法

發布時間:2025/3/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “==”和equals()的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

equals()是java.lang.Object類的方法。
*對于字符串變量來說:==”是比較兩個對象在內存中的首地址;“equals()”是比較字符串中所包含的內容是否相同。
比如:

String s1,s2,s3 = "abc", s4 ="abc" ; s1 = new String("abc"); s2 = new String("abc");

那么:
s1==s2 是 false //兩個變量的內存地址不一樣,也就是說它們指向的對象不 一樣,
故不相等。
s1.equals(s2) 是 true //兩個變量的所包含的內容是abc,故相等。

注意(1):
如果: StringBuffer s1 = new StringBuffer(“a”);
StringBuffer s2 = new StringBuffer(“a”);
結果: s1.equals(s2) //是false
解釋:StringBuffer類中沒有重新定義equals這個方法,因此這個方法就來自Object類,
而Object類中的equals方法是用來比較“地址”的,所以等于false.

注意(2):
對于s3和s4來說,有一點不一樣要引起注意,由于s3和s4是兩個字符
串常量所生成的變量,其中所存放的內存地址是相等的,
所以s3==s4是true(即使沒有s3=s4這樣一個賦值語句)
對于非字符串變量來說,”==”和”equals”方法的作用是相同的都是用來比較其對象在堆內存的首地址,即用來比較兩個引用變量是否指向同一個對象。
比如:

class A { A obj1 = new A(); A obj2 = new A(); }

那么:obj1==obj2是false
obj1.equals(obj2)是false
但是如加上這樣一句:obj1=obj2;
那么 obj1==obj2 是true
obj1.equals(obj2) 是true

注:(1)如果是基本類型比較,那么只能用==來比較,不能用equals; (2)對于基本類型的包裝類型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用變量,==是比較地址的,而equals是比較內容的。

——————我是不及格的分隔線———————-

擴展:java.lang.String類中isEmpty()方法的使用,作用:判斷是否為空串,length()等于0返回true,否則返回false。

String a = "helllo"; System.out.println(a.isEmpty()); //結果為false String b = ""; System.out.println(b.isEmpty()); //結果為true String c = null; System.out.println(c.isEmpty()); //結果報空指針異常,java.lang.NullPointerException.

總結

以上是生活随笔為你收集整理的“==”和equals()的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。