请解释为什么要加.equals

来源:4-4 Java条件语句之嵌套 if

慕虎8590642

2016-09-05 19:12

if(score>80)

{if(sex.equals("男"))//这里为什么加.equals}

写回答 关注

3回答

  • qq_疾速小蜗牛_0
    2016-09-05 21:58:39
    已采纳

    1.根本上讲equals和==没有区别,在Object类中,equals()方法就是先if语句判断是否==,如果不相等再把字符拆成char型逐位比较。如果都相等就是true,否则false。(这是程序上的区别。)

    2.==是判断两个字符的地址是否相同(如果你知道基本类型的保存方式就会更明白,简单的说就是同一种基本类型字符在堆中只会保存一个,后来的相同字符都会接到这一个地址上),也就是说,equals先判断两个字符地址是否相同,地址不相同再实际比较字符是否真的不同。(这是宏观上的区别)

    注意:但是不少java自带的类中,equals()都重写过,不一定都一样。

    最简单的,比较基本类型==和equals()都可以用,但是equals运行慢(没事找事才用这个)。比较非基本类型都用equals()来比较是否相同,不能用==

    慕圣2362... 回复qq_疾速小...

    恩,谢谢

    2016-10-08 21:12:43

    共 6 条回复 >

  • qq_晨曦_104
    2016-09-05 19:32:01

    equals 方法被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。

    慕虎8590...

    谢谢哈

    2016-09-10 09:52:21

    共 1 条回复 >

  • xiaoxiaomengmeng
    2016-09-05 19:25:36

    equals 方法被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。

    慕虎8590...

    谢谢啦

    2016-09-10 09:51:40

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1167347 学习 · 18629 问题

查看课程

相似问题