1)Object类中的‘‘==‘‘和‘‘equals‘‘
Object类中的equals方法和‘‘==‘‘是一样的,比较的都是【栈内存中存放的对对象堆内存地址的引用】,也就是说这两个变量如果引用的是同一个堆内存对象的话,那么他们是‘‘==‘‘的和‘‘equals‘‘的。
2)String类、Integer等等类中的‘‘==‘‘和‘‘equals‘‘
String、Integer类中的‘‘equals‘‘方法都是继承自Object类,但是他们都重写了‘‘equals‘‘方法。这样,对于这些类来说,‘‘==‘‘比较的是两个对象的引用是否相等,而‘‘equals‘‘方法
则比较的是两个对象的值是否相等。
结论:
对于String类来说,比较两个字符串是否相同的时候,不能直接用‘‘==‘‘,而应该用‘‘equals‘‘方法。
对于Integer和Long类等包装类来说的话,比较大小的时候不能直接用‘‘==‘‘,而应该用‘‘equals‘‘方法
对于int和long等基础数据类型来说,比较大小直接用‘‘==‘‘就可以了。
注意:‘‘!=‘‘和‘‘==‘‘处理类似
3)Integer类型的valueOf方法特殊之处
在通过valueOf方法将String类型的转为Integer类型的时候,一定要注意这个值的大小,因为这里涉及到java里面对数字的处理的一个机制:将-128~127(或者某一个)
时间: 2024-12-29 04:42:00