String类中的equals是如何重写的
重写 如何 string 类中 equals
2023-09-14 08:58:30 时间
我们知道String中的equals方法是被重写过的,因为object的equals方法是比较的对象的内存地址,而String的equals方法比较的是对象的值。
首先几个知识点:
基本数据类型==比较的是值,引用数据类型==比较的是内存地址。
所以我的思路是:
将两个String对象都变成char数组,然后进行数组内容的对比即可。
JDK中的源码是:
public boolean equals(Object anObject) { //如果是同一个对象 if (this == anObject) { return true; } //如果传递进来的参数是String类的实例 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; } } return false; }
相关文章
- 数据透视表上线!如何在纯前端实现这个强大的数据分析功能?
- 第八章·Nginx实现Rewrite重写
- 用 Rust 重写网站,性能提升了18倍!
- 【说站】java如何重写findClass方法
- Java—重写与重载的区别
- java——运行时多态/动态绑定 重写和重载的区别
- Nginx反向代理、负载均衡、SSL配置、URL重写
- 用Rust重写Linux内核,这可能吗?
- 2023-04-21:用go语言重写ffmpeg的metadata.c示例。
- 【Java】为什么重写equals一定要重写hashcode详解编程语言
- url重写IIRF(Ionic'sIsapiRewriteFilter)手册
- 解析:继承ViewGroup后的子类如何重写onMeasure方法
- js重写alert控件(适合学习js的新手朋友)