对象用equals 
常量可用==

解决方案 »

  1.   

    int 是java的基本数据类型。
    Integer是它的封装类。 
    JDK1.5以前用法有点不同,
    JDK1.5以后,应该没必要区分“什么时候用Integer什么时候用int”, java自己可以搞定。
      

  2.   

    用hibernate好多人都用Integer为什么啊?
      

  3.   

    对较的时候Integer要用equals刚试过在重写equals
      

  4.   

    Integer是引用类型,int是基本类型
    int的比较可以直接用==
    但是Integer的比较,如果用==的话,就是比较的内存地址了
    所以引用类型就要用equals,而且Integer是从写了equals方法的。。
      

  5.   

    Integer a = 127;
    Integer b = 127;a==b trueInteger a = 128;
    Integer b = 128;a==b  false基本类型全部直接用==就可以了引用类型值比较用equals
      

  6.   

    这个有什么困惑的
    我的经验是,通常在泛型的时候才用Integer,其他时候用处不多
      

  7.   

    在有WEB应用的情况测试 一定要equals在本地JAVA工程测试 == 和 equals都一样。。怎么回事??难道WEB tomcat struts ... 用的是老版本
    public boolean equals(Object obj) {
    if (obj == null)
    return false;
    else {
    if(obj instanceof Role){
    Role role = (Role)obj;
    if(role.getId()==this.getId()){//本地JAVA工程一样
    return true;
    }
    }
    return false;
    }
    }
      

  8.   

    绝大部分时候用int,需要以对象的形式存储数字时用Integer
      

  9.   

    怎么会你自己写一个
    Integer a = 88888;
    Integer b = 88888;不可能用==会返回true
      

  10.   

    忘了说下总结了,在WEB 小于127 用==也不能true
    刚才测试都是小于127在本地JAVA小于127用==可以 但大于127就不行了
      

  11.   

    对象用equals 
    常量可用==