日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Java中equals和==的區別?

Java中equals和==的區別?

來源:千鋒教育
發布人:xqq
時間: 2023-10-11 19:30:54 1697023854

一、Java中equals和==的區別

java當中的數據類型和“==”的含義

基本數據類型(也稱原始數據類型) :byte,short,char,int,long,float,double,boolean。他們之間的比較,應用雙等號(==),比較的是他們的值。引用數據類型:當他們用(==)進行比較的時候,比較的是他們在內存中的存放地址(確切的說,是堆內存地址)。

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

equals()方法介紹

JAVA當中所有的類都是繼承于Object這個超類的,在Object類中定義了一個equals的方法,equals的源碼是這樣寫的:

public boolean equals(Object obj) {??? //this – s1??? //obj – s2??? return (this == obj);}

可以看到,這個方法的初始默認行為是比較對象的內存地址值,一般來說,意義不大。所以,在一些類庫當中這個方法被重寫了,如String、Integer、Date。在這些類當中equals有其自身的實現(一般都是用來比較對象的成員變量值是否相同),而不再是比較類在堆內存中的存放地址了。

所以說,對于復合數據類型之間進行equals比較,在沒有覆寫equals方法的情況下,他們之間的比較還是內存中的存放位置的地址值,跟雙等號(==)的結果相同;如果被復寫,按照復寫的要求來。

我們對上面的兩段內容做個總結吧:?

== 的作用:

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

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

equals 的作用:

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

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

延伸閱讀:

二、面向對象是什么

現實世界中,隨處可見的一種事物就是對象,對象是事物存在的實體,如人類、書桌、計算機、高樓大廈等。人類解決問題的方式總是將復雜的事物簡單化,于是就會思考這些對象都是由哪些部分組成的。通常都會將對象劃分為兩個部分,即動態部分與靜態部分。

靜態部分,顧名思義就是不能動的部分,這個部分被稱為“屬性”,任何對象都會具備其自身屬性,如一個人,它包括高矮、胖瘦、性別、年齡等屬性。然而具有這些屬性的人會執行哪些動作也是一個值得探討的部分,這個人可以哭泣、微笑、說話、行走,這些是這個人具備的行為(動態部分),人類通過探討對象的屬性和觀察對象的行為了解對象。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 青阳县| 扶风县| 社会| 城口县| 岐山县| 德州市| 武山县| 静宁县| 新和县| 囊谦县| 天水市| 垦利县| 锡林郭勒盟| 垦利县| 通渭县| 晴隆县| 祁阳县| 汪清县| 清水河县| 惠安县| 乡城县| 丰城市| 太谷县| 铜梁县| 高清| 靖州| 延津县| 黑水县| 六枝特区| 游戏| 陇西县| 吉安市| 安龙县| 克东县| 汉沽区| 洪江市| 阿克陶县| 临桂县| 新河县| 东光县| 永年县|