A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tpsu88 中级黑马   /  2013-6-27 17:09  /  1634 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 孙百鑫 于 2013-6-28 10:04 编辑

大家总结说说,“==”        “equals”         "instanceof"         "contains"   的不同?比如用法?和什么时候用?
少了可以补充!!!

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 神马都是浮云

查看全部评分

6 个回复

倒序浏览
个人理解  ==是判断两个对象是否相等或两个值是相等 比如int值 boolean值等(不包含字符串)  
equals 用来判断两个字符串的值是否相等
instanceof用来判断是否引用同一对象
比如:
 public class Bill {//省略细节}
  public class PhoneBill extends Bill {//省略细节}
  public class GasBill extends Bill {//省略细节}

  在处理程序里有一个方法,接受一个Bill类型的对象,计算金额。假设两种账单计算方法不同,而传入的Bill对象可能是两种中的任何一种,所以要用instanceof来判断:

  public double calculate(Bill bill) {
  if (bill instanceof PhoneBill) {
  //计算电话账单
  }
  if (bill instanceof GasBill) {
  //计算燃气账单
  }
而 contains是判断是否包含一个值..比如说一个字符串
String info="abc";  info.constains("a")。则返回值为true;

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 赞一个!

查看全部评分

回复 使用道具 举报
“==”       地址值相等
“equals”         数值相等
"instanceof"        对象关系
"contains"    string特有关系

楼主问题总结的不错,,应该还有很多特有比较方法,,可以完善

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 赞一个!

查看全部评分

回复 使用道具 举报
==就是判断左右两边是否相等
equals方法很多类里面都复写了,所以在用equals方法前应明确是什么对象在调用。
instanceof判断对象是否属于那个类。
contains 包含关系主要用于字符串

评分

参与人数 1技术分 +1 收起 理由
孙百鑫 + 1 赞一个!

查看全部评分

回复 使用道具 举报
补充!!  compareTo  也是比较
回复 使用道具 举报
对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。

“==”比较两个变量本身的值,即两个对象在内存中的首地址。

“equals()”比较字符串中所包含的内容是否相同。

但是有一点值得注意的是,String str1="abc"; Strng str2="abc";

str1和str2是两个字符串常量所生成的变量,其中所存放的内存地址是相等的。

所以str1==str2是true;

而对于非字符串变量来说,“==”和“equals”方法的作用是相同的都是用来比较其对象在堆内存的首地

址,即用来比较两个引用变量是否指向同一个对象。

Object 类的 equals() 方法的比较规则为:当参数 obj 引用的对象与当前对象为同一个对象时,就返回

true,否则返回false

在JDK中有一些类覆盖了 Object 类的equals()方法,它们的比较规则为:

如果两个对象的类型一致,并且内容一致,则返回true。

而instanceof操作符用于判断一个引用类型所引用的对象是否是一个类的实例

instanceof 左边操作元被显式声明的类型与右边操作元必须是同种类或者有继承关系,即位于继承树的同

一个继承分支上,否则编译出错

而Containes(CharSequence s)方法是字符串的比较方法,当且仅当此字符串包含char 值的指定序列时返

回true。
回复 使用道具 举报
gzbbxu 中级黑马 2013-6-28 12:03:13
7#
补充: compareTo(T t)  较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马