是不是数据类型 int 的用 == 和 != 来比较
而字符类型 String 的用 equals 来比较呢?"1".equals(username) 的相反怎么写?是 "1" != username 吗?

解决方案 »

  1.   

    INT 和 STRING 的好象记反了吧?!
      

  2.   

    ==号是用来比较两个对像的地址的,而equals是用来比较两个对像里所存放的值的,
    if(str.equals("aaa")){...};
    完整的写法是if(str.equals("aaa")==true){....};只不过在JAVA里如果不写==true会谟认是true,所以写==true和不写是完全一样的。
    这是判断str这个对像里放的值和字符串aaa是否一样,一样返回true
    不一样返回false,与上一个表达式相反的是,if(str.equals("aaa")==false){....};
      

  3.   

    if(!str.equals("aaa")){....};
    这样写也可以
      

  4.   

    楼主的语言基础不敢恭维啊。String是“字符类型”?晕~~~==运算符是用来比较原始类型的值和对象类型的地址的,而equals()则是Object中的一个方法,因为任何对象都继承自Object,所以任何对象都有equals()这个方法。equals()的最初功能和==没有区别,打开Object类的源码就可以看到:    public boolean equals(Object obj) {
    return (this == obj);
        }但是不同的子类重写了equals(),以用来满足特定的功能。比如String中的equals()就是用来比较内置字符串是否完全一致的。顺便说一句:"1".equals(username)的反义是!("1".equals(username)),前面加个!号就行了。