当前位置:编程学习 > JAVA >>

java中的对象比较

大家看看这段代码:
 
public class IntergerError
{ 
public static void main(String[] args)
{
// TODO Auto-generated method stub
Integer num1 = new Integer(100);
Integer num2 = new Integer(100);
System.out.println(compare(num1, num2));
}


private static boolean compare(Integer num1, Integer num2)
{
boolean a = (num1 == num2);
boolean b = (num1 > num2);
boolean c = (num1 < num2);

return a||b||c;
}

}

 

 
 
 
你的答案是什么,返回一定是true?哈哈,再思考一下。
 
这段代码的返回值为false,这就有些不明白了,为什么会这样,既然用的是或,那不是大就是小或者是等于,肯定有一个成立。
 
上面也是我的想法,后来网上找了一些资料,总结起来大概是:“==”比较简单类型的值或者是比较对象是不是引用了同一个对象,至于“》”和“《”对于对象来说也就没有意义了。
 
所以比较对象的值的时候最好还是用equal()方法,或者是去的对象的值来进行比较。
 
其实之前这个事情也没有引起注意,今天遇到了,基础不牢惹的祸。望大牛们批评指正,分享你的经验。
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,