1,equals() :
- equals 多用于字符串的内容比较;
- equals 方法来自Object类,所以,任何对象都能调用这个方法,
在Object类里面的原生实现,本质也是使用 == 比较两个对象的地址值是否相同;
//源码:public boolean equals(Object obj) {return (this == obj);}
当对equals进行重写时,就可以根据实际逻辑进行内容的比较;
@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Animal animal = (Animal) o;if (age != animal.age) return false;return color != null ? color.equals(animal.color) : animal.color == null;}
2,== :
基本数据类型: 比较的是数据值是否相同;
- 引用数据类型: 比较的是地址值是否相同;
3,日常使用:
当变量是基本数据类型时,使用 == 去比较两个的数据值;
当变量是引用数据类型时,使用 equals 去比较两者的内容;
