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

© lanzy1989 中级黑马   /  2014-9-19 21:15  /  934 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


“==” 运算符一般用于基本数据类型的比较,如果用于两个引用对象的比较,则

只有当两个引用变量引用同一个对象时,才返回true,否则返回false.

  String s1=new Strng(“java”);

  String s2=new Strng(“java”);

  System.out.pritnln(s1==s2); //显示false

但是,假如不使用new 关键字,创建String 型对象s3,s4,则它们引用的是同一个对象。

  String s3=“java”;

  String s4=“java”;因为没有使用new 关键字,所以s4 引用既存的对象

  System.out.pritnln(s3==s4); //显示true,
比较对象内容时,使用equals()函数

  Object 类的equals()定义

  Public boolean equals(Object obj){

   return (this==obj);

  }

  由于String 类覆盖了继承自Object类的equals()方法,它比较的是引用对象的内容.

所以,没有覆盖equals()方法的类的对象使用该方法与另一对象进行比较时,永远返

回false; 只是因为此时进行比较调用的是Object的equals方法.

您需要登录后才可以回帖 登录 | 加入黑马