“==”和equals()的区别
"=="和equals()的区别
要了解两者之间的区别,首先要知道基本数据类型和引用数据类型>
八大基本数据类型
char,boolean,byte,short,int,long,double,float,这八种数据变量中直接存储值
八大基本数据类型对应着各自的封装类型的包装类,提供了更多的方法,且不进行初始化时值默认为空(基本数据类型必须初始化),并且属于引用类型
引用类型
引用类型主要是一些类、接口、数组
引用类型变量中存储的是地址**,对应的地址存储数据
"=="和equals()方法的区别和联系
"=="比较基本数据类型时比较的是表面值内容,而比较两个对象时比较的时两个对象的内存地址值,对于equals()方法,首先要注意的是它不能够作用于基本数据类型的变量,若没有对equals()方法进行重写,则其比较的是引用类型的变量所指向的对象的地址;若对其进行重写,则比较的是引用类型的变量所指向对象的内容
简单概括就是
==在基本数据类型中比较的是:值内容,引用类型时:地址
equals()重写时比较的是:值内容;未重写时比较的是:地址
其中equals()只作用于引用类型中

浙公网安备 33010602011771号