String源码&读书笔记
程序员文章站
2022-07-14 16:21:00
...
public boolean equals(Object anObject) {
/*
* 1. 比较两个对象是否指向同一块内存地址
*/
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
// 将anObject向下转型为String类型
String anotherString = (String)anObject;
int n = value.length;
/*
* 2. 比较两个String类型的字符串长度是否相等
*/
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
/*
* 并不是很理解为什么需要定义n和i两个变量
*/
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
转载于:https://www.jianshu.com/p/f7646c7ee840
推荐阅读
-
Asp.NetCoreWebApi图片上传接口(二)集成IdentityServer4授权访问(附源码)
-
MySQL存储表情时报错:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D
-
【读书笔记】iOS-微定位技术
-
php源码的安装方法和实例
-
swagger,参数,list,swaggerui测试list
类型参数示例 -
Android 8.1 源码_启动篇(二) -- 深入研究 zygote
-
通用分页存储过程,源码共享,大家共同完善
-
Java中的容器(集合)之ArrayList源码解析
-
深入源码分析Spring中的构造器注入
-
vuex 源码解析(四) mutation 详解