java equals函数用法详细解析

来源:爱站网时间:2018-09-21编辑:网友分享
下面就由爱站频道的小编分享一篇关于java equals函数用法详细解析给大家吧!感兴趣的朋友跟小编一起来了解一下吧!

  下面就由爱站频道的小编分享一篇关于java equals函数用法详细解析给大家吧!感兴趣的朋友跟小编一起来了解一下吧!

  equals函数在基类object中已经定义,源码如下

  复制代码 代码如下:

  public boolean equals(Object obj) {

  return (this == obj);

  }

  从源码中可以看出默认的equals()方法与“==”是一致的,都是比较的对象的引用,而非对象值(这里与我们常识中equals()用于对象的比较是相饽的,原因是java中的大多数类都重写了equals()方法,下面已String类举例,String类equals()方法源码如下:)

  [java]

  复制代码 代码如下:

  /** The value is used for character storage. */

  private final char value[];

  /** The offset is the first index of the storage that is used. */

  private final int offset;

  /** The count is the number of characters in the String. */

  private final int count;

  [java] view plaincopyprint?

  public boolean equals(Object anObject) {

  if (this == anObject) {

  return true;

  }

  if (anObject instanceof String) {

  String anotherString = (String)anObject;

  int n = count;

  if (n == anotherString.count) {

  char v1[] = value;

  char v2[] = anotherString.value;

  int i = offset;

  int j = anotherString.offset;

  while (n-- != 0) {

  if (v1[i++] != v2[j++])

  return false;

  }

  return true;

  }

  } //www.software8.co

  return false;

  }

  String类的equals()非常简单,只是将String类转换为字符数组,逐位比较。

  综上,使用equals()方法我们应当注意:

  1. 如何equals()应用的是自定义对象,你一定要在自定义类中重写系统的equals()方法。

  2. 小知识,大麻烦。

  以上就是java equals函数用法详细解析,想必都了解了吧,更多相关内容请继续关注爱站技术频道。

上一篇:Java overload和override的区别分析

下一篇:java this super使用方法详细解析

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载