Java中的equals()方法Java认证考试

文章作者 100test 发表时间 2010:01:01 15:53:02
来源 100Test.Com百考试题网


  equals()方法应该具以下特性:

  1.自反的:对任何x,x.equals(x)应该返回true.

  2.对称的:对于x,y,x.equals(y)返回true,当且仅当y.equals(x)返回true.

  3.传递的:对x,y,z,x.equals(y)和y.equals(z)返回true,则x.equals(z)返回true.

  4.一致的:对x,y,多次调用x.equals(y)应该一致的返回true或false,如果在等价比较中的信息没有被改变的.

  5.对于非空的对象x,x.equals(null)应该返回false.

  根据此和一,以下语句通常会被写在equals()方法里:

  Java代码

  if(obj == this) return true.源:www.examda.com

  程序员通常会写如下语句:

  Java代码

  if( obj instanceOf 当前类){

  //todo

  }

  如果当前类没有子类,则没有问题。否则有可能与规则2相冲突,因为子类对象也是父类对象的一个实例。

  解决方法:

  Java代码

  if(obj == null) return false.

  if(obj.getClass() != this.getClass()){

  return false.

  }

  //TODO



相关文章


javapoi的使用经验Java认证考试
javascript模式对话框和非模式对话框Java认证考试
JAVA小球自由落体运动钢性碰撞Java认证考试
java聊天窗口的实现Java认证考试
Java中的equals()方法Java认证考试
线程等待和释放的小麻烦(wait_notify)Java认证考试
java应用实例JSP JavaScript打造级连菜单Java认证考试
java抓取网页内容:生成静态页面Java认证考试
再论JavaSwing线程Java认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛