色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java深比較和淺比較

在Java中,我們通常需要比較不同的對(duì)象。當(dāng)需要比較兩個(gè)對(duì)象時(shí),我們經(jīng)常聽到深比較和淺比較的概念。這兩種比較方式之間有很大的區(qū)別,接下來讓我們一起來了解它們。 深比較: 深比較是指比較兩個(gè)對(duì)象的值是否相等,即使這兩個(gè)對(duì)象具有不同的引用地址。如果兩個(gè)對(duì)象的屬性值和類型都是相等的,那么這兩個(gè)對(duì)象是深度相等的。在Java中,我們可以使用equals方法來實(shí)現(xiàn)深比較。 以下是一個(gè)示例代碼,用于演示深比較:
public class Person {
private String name;
private int age;
private String address;
public Person(String name, int age, String address) {
this.name = name;
this.age = age;
this.address = address;
}
@Override
public boolean equals(Object obj) {
if (obj == this) return true;
if (!(obj instanceof Person)) return false;
Person person = (Person) obj;
return this.name.equals(person.name) &&
this.age == person.age &&
this.address.equals(person.address);
}
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person("Tom", 20, "Shanghai");
Person p2 = new Person("Tom", 20, "Shanghai");
System.out.println(p1.equals(p2)); // 輸出 true
}
}
在上面的示例中,我們重寫了equals方法,按照姓名、年齡和地址相等來比較兩個(gè)Person對(duì)象。當(dāng)我們創(chuàng)建兩個(gè)Person對(duì)象,并使用equals方法進(jìn)行比較時(shí),我們發(fā)現(xiàn)它們是深度相等的。 淺比較: 淺比較是比較兩個(gè)對(duì)象的引用是否相等,即它們是否指向相同的內(nèi)存地址。在Java中,我們可以使用“==”運(yùn)算符來實(shí)現(xiàn)淺比較。 以下是一個(gè)示例代碼,用于演示淺比較:
public class Person {
private String name;
private int age;
private String address;
public Person(String name, int age, String address) {
this.name = name;
this.age = age;
this.address = address;
}
public boolean isSame(Person p) {
return this == p;
}
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person("Tom", 20, "Shanghai");
Person p2 = new Person("Tom", 20, "Shanghai");
Person p3 = p1;
System.out.println(p1.isSame(p2)); // 輸出 false
System.out.println(p1.isSame(p3)); // 輸出 true
}
}
在上面的示例中,我們創(chuàng)建了三個(gè)Person對(duì)象,它們的屬性值都是相同的。當(dāng)我們使用isSame方法分別比較它們時(shí),我們可以發(fā)現(xiàn)p1和p2是不同的對(duì)象,而p1和p3是相同的對(duì)象。在這個(gè)例子中,我們使用“==”運(yùn)算符進(jìn)行了淺比較。 總結(jié): 深比較和淺比較是Java中非常重要的概念。通常情況下,深比較是比較兩個(gè)對(duì)象的屬性值是否相等,而淺比較是比較兩個(gè)對(duì)象是否具有相同的引用地址。在實(shí)際應(yīng)用中,我們需要根據(jù)具體情況來選擇使用哪種比較方法。