博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
String中的equals方法解析 jdk1.7
阅读量:4497 次
发布时间:2019-06-08

本文共 1023 字,大约阅读时间需要 3 分钟。

注  此篇为jdk1.7中的源码解析 

 

equals()方法中的判断分一下步骤

1先判断内存地址是否相同  如果内存地址相同 那么字符串就是相同的 返回true

2 判断当前字符串和参数字是否属于同一类    如果不相等 返回false

3比较字符串长度(也就是char[]数组)是否相等  不相等返回false

4 逐个字符比较 如果不相等 返回false

下面贴上源码

public boolean equals(Object anObject) {        if (this == anObject) {
// 1先判断内存地址是否相同  如果内存地址相同 那么字符串就是相同的 返回true return true; } if (anObject instanceof String) {
//2 先判断当前字符串和参数字是否属于同一类 String anotherString = (String) anObject; int n = value.length; if (n == anotherString.value.length) {//3比较字符串长度(也就是char[]数组)是否相等  不相等返回false char v1[] = value; char v2[] = anotherString.value; int i = 0; while (n-- != 0) { if (v1[i] != v2[i]) //4 逐个字符比较 return false; i++; } return true; } } return false; }

 

 此篇为个人原创 如有雷同 纯属巧合   如有错误 请各位提醒

 

如若转载 请注明出处

转载于:https://www.cnblogs.com/guoyafenghome/p/8893166.html

你可能感兴趣的文章
.net中消息队列
查看>>
codeforces_1040_A Python练习
查看>>
用python处理文本数据 学到的一些东西
查看>>
UOJ #47.滑行的窗口
查看>>
P2504 聪明的猴子
查看>>
快速傅里叶变换(FFT)递归
查看>>
子窗口选择多值返回至父窗口的文本框中
查看>>
vi/vim编辑器必知必会(转)
查看>>
散列表(哈希表)工作原理 (转)
查看>>
敏捷开发产品管理系列之二:产品版本规划
查看>>
LeetCode-Reverse Nodes in k-Group
查看>>
PAT 1014. 福尔摩斯的约会
查看>>
[Leetcode] Candy
查看>>
优秀博客地址
查看>>
《连载 | 物联网框架ServerSuperIO教程》- 8.单例通讯模式开发及注意事项
查看>>
使用MicroService4Net 快速创建一个简单的微服务
查看>>
单链表(C++)
查看>>
配置handler vs2013 iis8.0
查看>>
LINQ 常用from
查看>>
26金蟾素数
查看>>