java的equals和contains的区别

2024-12-27 08:06:46
推荐回答(4个)
回答1:

java的equals和contains()的区别:

1、功能不同

equals指示其他某个对象是否与此对象“相等”。

contains当且仅当此字符串包含指定的 char 值序列时,返回 true。

2、用法不同

equals实现对象上差别可能性最大的相等关系;即,对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。

contains常用与集合中判断某个对象是否含有这个元素。

3、含义不同

equals是比较两个东西是否等同,适用于任何类别的对象。

contains是是否包含的意思,左边的对象是一个容器了。

4、参数不同

equals参数为obj - 要与之比较的引用对象。

contains参数为s - 要搜索的序列。

参考资料来源:百度百科——equals

百度百科——contains()

回答2:

equals是判断字符串的是不是相等,例如:"abc".equals("abc"),返回结果是Boolean类型的true
"abc".equals("ab")返回结果是Boolean类型的false
contains是包含的意思,例如:"abc".contains("a"),返回结果是Boolean类型的true
"abc".contains("d"),返回结果是Boolean类型的false.
contains包含包括,"abc".contains("abcd")是返回的false

回答3:

  1. 只要记得equals用在判断字符串相等的时候。如果你不能确定他们是否为空。你还要判断!=null,==号不能用来判断字符串是否一样。

  2. Java运行环境有一个字符串池,由String类维护。执行语句String str="abc"时,首先查看字符串池中是否存在字符串"abc",如果存在则直接将"abc"赋给str,如果不存在则先在字符串池中新建一个字符串"abc",然后再将其赋给str。

  3. java中equals和==的区别 值类型是存储在内存中的堆栈(简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。

  4. quals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。

  5. ==比较的是2个对象的地址,而equals比较的是2个对象的内容,显然,当equals为true时,==不一定为true。

  1. equals()是object的方法,所以只是适合对象,不适合于基本类型,equals()默认是用"=="比较两个对象的内存地址。

  2. 于所有的类都是继承自java.lang.Object类的,所以如果没有对该方法进行覆盖的话,调用
    的仍然是Object类中的方法,而Object中的equal方法返回的却是==的判断。

回答4:

答非所问~垃圾