== 与 equals的区别

179 阅读1分钟

== 与 equals的区别:
1.== 运算符可以使用在基本数据类型变量和引用数据类型变量的判断之中
当基本数据类型进行比较时
比较的是==两边的值是否相同

int i=10;
int j=10;
double d=10.0;
System.out.println(i==j);
System.out.println(i==d);

以上两个结果都为true。
当是引用数据类型进行比较时
比较的是==两边的地址值是否相同

people p1=new people("yuan");
peopel p2=new people("yuan");
System.out.println(p1==p2);

以上结果为false 实例化对象所在内存地址不同
2.equals方法只可以用在引用数据类型变量判断之中
在自定义的类中如果没有重写equals,执行的是Object中的equals方法
而Object类中的equals方法使用是用==进行的值的判断,此时比较的是地址。
而String,Date,file重写的equals方法是比较两个对象的实体内容。