问答详情
源自:4-4 Java条件语句之嵌套 if

if(sex=="女") 和 if(sex.equals("女"))

java

额 内个if(sex=="女")  和 if(sex.equals("女"))都一样吧?

我感觉直接“==”就好了,拼写“equals”有点多

哪个更好一些?。


提问者:聪明宝贝宝贝 2016-10-07 19:00

个回答

  • 勋一草
    2016-10-08 09:35:58
    已采纳

    不一样,==一般用于int类型的,,可以说是一个运算符,而equals是一个判断String类型多一点的,并且String类型的可以.出来。

  • qq_喏尔卟的恃忆_0
    2016-11-03 12:55:36

    if(sex=="女")比较等号左右边的字符是否一致,而sex.equals("女")是比较sex与括号内的字符串是否相等,如果相等就返回true,否则返回false

  • qq_行在天涯_04096833
    2016-10-09 18:07:58

    int score=94;

    char sex = '女';

    if(score>80){

    if(sex=='女'){

    System.out.println("进入女子组决赛");

    }else{

    System.out.println("进入男子组决赛");

    }

    }

    如果前面用char sex ,那么后面可以用==

    如果前面用String sex , 那么后面要用.equals()

    对应的,一个类,一个是数值,不知道我理解的对不对

  • qq_杨海峰_04077531
    2016-10-07 19:56:52

    基础数据类型比较直接用“==”就行了,引用类型得用“equals()”方法。

  • 慕码人8315412
    2016-10-07 19:14:52

    ==是比较地址是否相等,equals比较内容对象是否相等

  • 飘摇兮情难全
    2016-10-07 19:10:40

    不一样,当内容相同而对象不同时,可以将equals方法覆写判断是否内容相等,而==不行