“==” 和 equals究竟有什么区别?

==用法

1、判断基本类型变量是否相等,且都是数值类型(不一定要求数据类型严格相同),只要两个变量的值相等,就返回true

2、对于两个引用类型变量,只有当他们指向同一个对象时,判断才会返回true。且不能用于比较类型上没有父子关系的两个变量

equals用法

1、equals()是Object类提供的一个示例方法,因此所有的引用类型变量都能用它来判断是否和其他的引用类型变量相等。

2、Object类的equals()和==运算符几乎一样,也是要求两个引用类型变量指向同一个对象时才会返回true;

3、string类的equals()已经进行了重写,所以str1.euqals(str2)比较的是str1和str2的内容,而不是比较引用类型变量指向的对象

此外:
基本类型的包装类型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用变量,==是比较地址的,而equals是比较内容的。

你可能感兴趣的:(知识点,==,equals)