java equals函数用法详解

2011JIASHU

2011JIASHU

2016-02-19 11:36

下面是个简单易学的java equals函数用法详解教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!
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. 小知识,大麻烦。
展开更多 50%)
分享

猜你喜欢

java equals函数用法详解

编程语言 网络编程
java equals函数用法详解

Java多线程的用法详解

编程语言 网络编程
Java多线程的用法详解

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

浅析Java中Split函数的用法技巧

编程语言 网络编程
浅析Java中Split函数的用法技巧

高手详解:sscanf函数的高级用法

编程语言 网络编程
高手详解:sscanf函数的高级用法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

java中equals和等号(==)的区别浅谈

编程语言 网络编程
java中equals和等号(==)的区别浅谈

Java Reflection (JAVA反射)详解

编程语言 网络编程
Java Reflection (JAVA反射)详解

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win10如何开启或关闭内置定位功能

Win10如何开启或关闭内置定位功能

十天学会php(1)

十天学会php(1)
下拉加载更多内容 ↓