equals
public boolean equals(Object anObject) {
//比较是不是同一个对象,这里是==比较,比较的是地址,地址相同则是相同
//this这里指代的是当前调用对象,就是谁调用的equals方法,这里的this指的就是谁
if (this == anObject) {
return true;
}
//instanceof判断anObject是不是String的子类
if (anObject instanceof String) {
//此处转为String类型,便于下面把每个字符取出来进行比较
String anotherString = (String) anObject;
//value是String类自身的属性,length没有翻到到底是哪里定义的属性,反正n就是指代一个int类型的对象(你调用equals方法的那个对象)的长度
int n = value.length;
//判断长度是否相同,不相同肯定肯定是false了
if (n == anotherString.value.length) {
//自身属性的引用,String类本身定义的
char v1[] = value;
//相当于String转数组
char v2[] = anotherString.value;
int i = 0;
//遍历拿出每一个字符进行比较,每个字符按顺序取出,都相同则true
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
相关阅读
当我们比较两个参数值是否相等的时候,经常用到equals,但是 偶尔我们会忘记判断非空,例如写出这样的代码: 这样就会引起空指针,正确的
来源:百度知道解释:public boolean equalsIgnoreCase(String anotherString)将此 String 与另一个 String 进行比较,不考虑大小写。
junit 方法:assertEquals 和 assertTrue
assertEquals 和 assertTrue 区别 代码块 运行成功结果 assertEquals 运行失败后的错误提示 assertTrue 运行失败后的错误提示 总
String.equals()与String.equalsIgnoreCase( )区别
**String.equals()对大小写敏感! String.equalsIgnoreCase( )则忽略大小写** public static void main(String[] args) {
JAVA中字符串比较equals()和equalsIgnoreCase()的区别
1、使用equals( )方法比较两个字符串是否相等。它具有如下的一般形式:boolean equals(Object str)这里str是一个用来与调用字符串(S