一、首先是对比int(普通数据类型)
1.int类型(基本数据类型)
这是int类型的==输出,打印的结果如下
在int类型使用 == 的时候,对比的是数值是否一致。
int类型没有eq。
二、引用数据类型(例如Integter 、String等引用数据类型)
1.当引用数据类型没有实例化时,==的比较:
结果为true,此时= = 对比的是str1与str2的值的内容。
2.当引用数据类型有实例化后,==的比较:
结果是false,此时==对比的是str1与str2在实例化后,向内存里“申请”的地址的首地址是否一致,不一致则返回false;
3.当引用数据类型没有实例化时,equals()方法的比较:
此时equals()方法比较的是字符串里内容是否一致。
4.当引用数据类型有实例化后,equals()方法的比较:
此时equals()方法比较的是字符串里内容是否一致。
5.引用数据类型不是同一种数据类型时:
此时equals()方法比较的是数据类型是否一致,返回false。
总结
1.当变量为引用数据类型时,并且此时的变量已经进行了实例化,则==对比的是向内存里“申请”的地址的首地址;其他的情况都对比的是数值里的内容的值。
2.当引用数据类型一致的时候equals()方法比较的是变量的内容是否一致;引用数据类型不一致的时候,equals()方法比较返回的是false;
注:新手且学生总结,出现错误多多担待,希望各方大佬指出错误,感谢!