equals

public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}

比较两个对象时,首先先去判断两个对象是否具有相同的地址,如果是同一个对象的引用,则直接返回true;

如果地址不一样,则证明不是引用同一个对象,接下来就是挨个去比较两个字符串对象的内容是否一致,完全相等返回true,否则false。

hashCode


/** The value is used for character storage. */
private final char value[];
private int hash;// Default to 0
public int hashCode() {
int h = hash;
if (h == 0 && value.length > 0) {
char val[] = value; for (int i = 0; i < value.length; i++) {
h = 31 * h + val[i];
}
hash = h;
}
return h;
}

hashcode方法返回该对象的哈希码值。

如果根据 equals(Object) 方法,两个对象是相等的,那么在两个对象中的每个对象上调用 hashCode 方法都必须生成相同的整数结果。

最新文章

  1. JSONResult 封装
  2. overflow:hidden清楚浮动的影响
  3. ADF_Desktop Integration系列4_ADF桌面集成入门之部署ADF Desktop Excel
  4. Action类为何要继承ActionSupport
  5. 一篇不错的讲解Java异常的文章(转载)原作者已没法考证
  6. ubuntu搭建lnmp
  7. Linux第七节随笔-下磁盘管理
  8. LGTB 与序列
  9. iPhoneX理发指南
  10. vue项目tips
  11. python学习日记(2/3区别,环境,变量,数据类型以及简单习题)
  12. 安全测试之Top 10 漏洞的分析
  13. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第九集之安装Tomcat+Nginx反向代理Tomcat集群】
  14. 6 关于plsql中文显示乱码问题
  15. Python全栈之路----常用模块----random模块
  16. Linux内核分析第二周:操作系统是如何工作的
  17. sencha touch 百度地图扩展(2014-12-17)
  18. Sql Server中日期时间格式化为字符串输出
  19. 多线程系列(3)任务Task
  20. C#基础第一天-作业答案

热门文章

  1. C# 之 Socket 简单入门示例
  2. jni c++
  3. C#版 - HDUoj 5391 - Zball in Tina Town(素数) - 题解
  4. 带着萌新看springboot源码09(springboot+JdbcTemplate)
  5. Java序列化和反序列化,你该知道得更多
  6. Java开发知识之JAVA的反射
  7. python迭代和解析(3):range、map、zip、filter和reduce函数
  8. VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——SliderView控件的使用方式
  9. ASP.net core 使用UEditor.Core 实现 ueditor 上传功能
  10. BootStrap之 提示工具(Tooltip)插件