一、==运算符的使用
1.基本数据类型变量:比较值是否相等,不一定类型要相同,存在自动类型提升
public void test1(){
int i=10;
int j=10;
double k=10.0;
System.out.println(i==j);
System.out.println(i==k);
boolean b=true;
char c=10;
System.out.println(i==c);
char c1='A';
char c2=65;
System.out.println(c1==c2);
}
public void test2(){
Customer cust1=new Customer("tom",21);
Customer cust2=new Customer("tom",21);
System.out.println(cust1==cust2);
String str1=new String("lxx");
String str2=new String("lxx");
System.out.println(str1==str2);
String str3="lxx";
String str4="lxx";
System.out.println(str3==str4);
}
二、equals()方法
1.这是一个方法,而不是一个运算符
2.不能用于基本数据类型,只适用于引用数据类型
3.Object类中equals()方法的定义:
public boolean equals(Object obj) {
return (this == obj);
}
是否相同,而是比较两个对象的“实体内容”(属性)是否相同。
public void test3(){
Customer cust1=new Customer("tom",21);
Customer cust2=new Customer("tom",21);
System.out.println(cust1.equals(cust2));
String str1=new String("lxx");
String str2=new String("lxx");
System.out.println(str1.equals(str2));
Date date1=new Date(32432525324L);
Date date2=new Date(32432525324L);
System.out.println(date1.equals(date2));
}