码迷,mamicode.com
首页 > 其他好文 > 详细

类的对象比较和值比较

时间:2016-06-27 23:15:29      阅读:496      评论:0      收藏:0      [点我收藏+]

标签:

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(或者某一个)

 

类的对象比较和值比较

标签:

原文地址:http://www.cnblogs.com/zhangchengzhangtuo/p/5621830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!