一、==(运算符)的使用
1、可以使用在基本数据类型变量和引用数据类型变量中。
2、如果比较的是基本数据类型变量,比较两个变量保存的数据是否相等(不一定类型要相同)。
如果比较的是引用数据类型变量,比较两个对象的地址值是否相等,即两个引用是否指向同一个对象实体。
EqualTest类
package guanjianzi;
public class EqualTest {
public static void main(String[] args) {
// TODO 自动生成的方法存
// 基本数据类型
int a = 30;
int b = 30;
double c = 30;
float d = 20;
char e = 20;
System.out.println(a == b);
System.out.println(a == c);
System.out.println(a == d);
System.out.println(a == e);
char f = 'A';
char g = 65;
boolean h = true;
System.out.println(f == g);
// System.out.println(f==h);
// 引用数据类型
Customer test1 = new Customer("cz", 33);
Customer test2 = new Customer("cz", 33);
System.out.println(test1 == test2);
String s1 = new String("cz");
String s2 = new String("cz");
System.out.println(s1 == s2);
}
}
Customer类
package guanjianzi;
public class Customer {
private String name;
private int age;
public Customer() {
super();
}
public Customer(String name, int age) {
super();
this.name = name;
this.age = age;
}
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;
}
}
二、equals()方法
1、是一个方法,不是运算符。
2、只能适用于引用类型。
3、Object类中equals()的定义:
public boolean equals(Object obj){
return (this == obj);
}
说明Object类中的equals()和==的作用是相同的,比较两个对象的地址值是否相等,即两个引用是否指向同一个对象实体。
4、String、Date、File、包装类等都重写了Object类中的equals()方法。重写以后,比较的不是两个引用的地址是否相同,而是比较两个对象的“实体内容”是否相同。