欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java的equals和==的比較示例

 更新時(shí)間:2014年04月15日 09:39:29   作者:  
這篇文章主要介紹了java的equals和==的比較示例,需要的朋友可以參考下

先看例子:

復(fù)制代碼 代碼如下:

package com.amos;
/**
 * @ClassName: EqualTest
 * @Description:Java中的equal和==的比較
 * @author: amosli
 */
public class EqualTest {
    public static void main(String[] args) {
        int a = 1;
        float b = 1.0f;
        System.out.println(a == b);// true
        String c = new String("hi_amos");
        String d = new String("hi_amos");
        System.out.println(c == d);// false
        System.out.println(c.equals(d));// true
    }
}

Java中判斷兩個(gè)變量是否相等主要有兩種判方式:一種是利用==運(yùn)算符,另一種是利用equals方法來判斷兩者是否相同.

1).當(dāng)使用==來判斷兩個(gè)變量是否相等時(shí),如果兩個(gè)變量是基本類型變量,且都是數(shù)值類型,不要求數(shù)據(jù)類型嚴(yán)格相同,只要兩個(gè)變量的值相等,那么將返回true.

2).如果對于兩個(gè)引用類型變量,它們必須指向一個(gè)對象時(shí),==判斷才會返回true.==不可用于比較類型上沒有父子關(guān)系的兩個(gè)對象.

如上可以解釋同樣一new String時(shí),==判斷兩者是否相同返回的是false,而equals返回的是true.

equals方法針對的String類,查看其源碼,可以發(fā)現(xiàn)其實(shí)equals只能算是==的一種特例.如下面源碼所示:

復(fù)制代碼 代碼如下:

public boolean equals(Object anObject) {
        if (this == anObject) {
            return true;
        }
        if (anObject instanceof String) {
            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;
    }

equals方法實(shí)際上一開始就調(diào)用了==判別式,然后再判斷其進(jìn)一步值是否正確

相關(guān)文章

  • Java 多線程實(shí)例詳解(三)

    Java 多線程實(shí)例詳解(三)

    本文主要介紹 java 線程安全的知識,這里整理了相關(guān)資料及實(shí)現(xiàn)示例代碼,有興趣的小伙伴可以參考下
    2016-09-09
  • 基于mybatis like %%的問題

    基于mybatis like %%的問題

    這篇文章主要介紹了mybatis like %%的問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 詳解如何將springboot項(xiàng)目導(dǎo)出成war包

    詳解如何將springboot項(xiàng)目導(dǎo)出成war包

    這篇文章主要介紹了詳解如何將springboot項(xiàng)目導(dǎo)出成war包,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • java模擬實(shí)現(xiàn)斗地主發(fā)牌小程序

    java模擬實(shí)現(xiàn)斗地主發(fā)牌小程序

    這篇文章主要為大家詳細(xì)介紹了java模擬實(shí)現(xiàn)斗地主發(fā)牌小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Springboot中使用Filter實(shí)現(xiàn)Header認(rèn)證詳解

    Springboot中使用Filter實(shí)現(xiàn)Header認(rèn)證詳解

    這篇文章主要介紹了Springboot中使用Filter實(shí)現(xiàn)Header認(rèn)證詳解,當(dāng)在?web.xml?注冊了一個(gè)?Filter?來對某個(gè)?Servlet?程序進(jìn)行攔截處理時(shí),它可以決定是否將請求繼續(xù)傳遞給?Servlet?程序,以及對請求和響應(yīng)消息是否進(jìn)行修改,需要的朋友可以參考下
    2023-08-08
  • Java實(shí)現(xiàn)壓縮圖片大小

    Java實(shí)現(xiàn)壓縮圖片大小

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)壓縮圖片大小,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • sharding-jdbc讀寫分離原理詳細(xì)解析

    sharding-jdbc讀寫分離原理詳細(xì)解析

    這篇文章主要介紹了sharding-jdbc讀寫分離原理詳細(xì)解析,很多時(shí)候,為了應(yīng)付DB的高并發(fā)讀寫,我們會采用讀寫分離技術(shù),讀寫分離指的是利用數(shù)據(jù)庫主從技術(shù)(把數(shù)據(jù)復(fù)制到多個(gè)節(jié)點(diǎn)中),分散讀多個(gè)庫以支持高并發(fā)的讀,需要的朋友可以參考下
    2023-12-12
  • JDBC數(shù)據(jù)庫連接過程及驅(qū)動加載與設(shè)計(jì)模式詳解

    JDBC數(shù)據(jù)庫連接過程及驅(qū)動加載與設(shè)計(jì)模式詳解

    這篇文章主要介紹了JDBC數(shù)據(jù)庫連接過程及驅(qū)動加載與設(shè)計(jì)模式詳解,需要的朋友可以參考下
    2016-10-10
  • 淺談使用java實(shí)現(xiàn)阿里云消息隊(duì)列簡單封裝

    淺談使用java實(shí)現(xiàn)阿里云消息隊(duì)列簡單封裝

    這篇文章主要介紹了淺談使用java實(shí)現(xiàn)阿里云消息隊(duì)列簡單封裝,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • Java如何獲取真實(shí)請求IP

    Java如何獲取真實(shí)請求IP

    這篇文章主要介紹了Java如何獲取真實(shí)請求IP問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論