国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

equals方法的用法(java)

這篇具有很好參考價(jià)值的文章主要介紹了equals方法的用法(java)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

equals方法


 == 和equals的對比
?
==是一個比較運(yùn)算符
1.==:既可以判斷基本類型,又可以判斷引用類型
2.==:如果判斷類型為基本類型,判斷的值是否相等
3.==:如果判斷的是引用類型,判斷的是地址是否相等,即是不是同一個對象

equals方法
1.equals:是Object類中的方法,只能判斷引用類型
2.默認(rèn)判斷的是地址是否相等,子類中往往重寫該方法,用于判斷內(nèi)容是否相等。







//案例
//判斷兩個Person對象的額內(nèi)容是否相等,如果兩個對象的各個屬性值
//(內(nèi)容一樣即可,不需要對象(地址)相同)
// 都一樣則返回true 否則 返回 false
public class Equals01 {//重寫equals 用法

    public static void main(String[] args) {
        //案例
        //判斷兩個Person對象的額內(nèi)容是否相等,如果兩個對象的各個屬性值
        //(內(nèi)容一樣即可,不需要對象(地址)相同)
        // 都一樣則返回true 否則 返回 false
        Person person = new Person("Tom",18,'男');
        Person person2 = new Person("Tom",18,'男');
        Person person3 = new Person("kangkang",18,'男');
        System.out.println(person.equals(person2));//true
        System.out.println(person.equals(person3));//false

    }
}

//Person類
class Person{//Object類是所有類的父類 默認(rèn)Person extends Object
    private String name;
    private int age;
    private char gender;
    //重寫Object類中的 equals方法
    public boolean equals(Object obj){
        if(this == obj){//若兩個對象是同一個對象,即地址相同直接返回true,無需再比較內(nèi)容
            return true;
        }
        if(obj instanceof Person){//先判斷是否是Person,是才比較
            //向下轉(zhuǎn)型,為了得到obj的各個屬性
            Person p1=(Person) obj;
            return this.name.equals(p1.name)&&this.age==p1.age&&this.gender==
                    p1.gender;
        }
        else{//如果不是Person,則直接返回false
            return false;
        }
    }

    public Person(String name, int age, char gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public char getGender() {
        return gender;
    }

    public void setGender(char gender) {
        this.gender = gender;
    }
}

equals 和 == 易錯使用案例集合文章來源地址http://www.zghlxwxcb.cn/news/detail-594821.html


public class Equals02 {//== 和 equals易錯的用法集合
    //equals 方法 是Object中已經(jīng)定義好的方法

    public static void main(String[] args) {
        Person2 p1 = new Person2();
        p1.name ="abcde";

        Person2 p2 = new Person2();
        p2.name ="abcde";

        System.out.println(p1==p2);//不是同一個對象  false
        System.out.println(p1.name.equals(p2.name));//p1.name 和 p2.name 是String
                                       //類對象 已經(jīng)重寫過equals方法
                                       //二者內(nèi)容相同 所以相等 true

        System.out.println(p1.equals(p2));//p1 p2 是用戶自己定義的Person類
                    //未重寫equals方法 所以比較的是 二者是否為同一對象
                    //返回false


        String s1 = new String("abs");

        String s2 = new String("abs");

        System.out.println(s1.equals(s2));//true
        System.out.println(s1==s2);//false


    }
}

//Person2類
class Person2{//extends Object Object類是所有類的父類

    public String name;
}

到了這里,關(guān)于equals方法的用法(java)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包