问答详情
源自:3-4 Java中的比较运算符

程序问题。

System.out.println("str1等于str2:"+(str1.equals(str2)));
解释一下equals



提问者:qq_蛻變_0 2016-09-05 20:43

个回答

  • 大雄的猫
    2016-09-27 20:42:50

    "=="比较内存地址值

  • 大雄的猫
    2016-09-27 20:41:20

    equals比较内容,"=="比较内存地址,答案是布尔型

  • baekai
    2016-09-23 15:49:49

    str1.equals(str2)这句是判断str1和str2是否完全相同,答案是布尔型:yes/no.

  • qq_疾速小蜗牛_0
    2016-09-05 21:59:26

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

  • java_mylife3942260
    2016-09-05 21:54:41

    String的equals表示,比较两个变量的引用地址是否相同


  • qq_疾速小蜗牛_0
    2016-09-05 21:54:32

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

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

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

  • 寒山问道
    2016-09-05 21:04:14

    equals用来比较两个字符或数字是否相等

  • 多愁多病身3645360
    2016-09-05 20:51:24

    equals的意思的是等于,相当于调用了子函数;