面试(1)-java-se-字符串
http://blog.csdn.net/zhangerqing/article/details/8093919
hashCode和identityHashCode的区别
I、 hashCode()方法是Object类下面的一个方法,供继承类重写,根据对象内存地址计算哈希值,String类重写了hashCode方法,并改为根据字符序列来计算哈希值
II、identityHashCode()方法是System类中的静态方法,根据对象内存地址来计算哈希值;
方法示例:
-
public static void main(String[] args)
{
// 下面程序中s1和s2是两个不同对象
String s1 = new String("Hello");
String s2 = new String("Hello");
// String类重写了Object类的hashCode方法——改为根据字符序列计算hashCode值,
// 因为s1和s2的字符序列相同,所以它们的hashCode方法返回值相同
System.out.println(s1.hashCode() + "----" + s2.hashCode());
// s1和s2是不同的字符串对象,所以它们的identityHashCode值不同,
// identityHashCode是根据对象的地址计算得到的,所以任何两个不同的对象的
// identityHashCode值总是不相等
System.out.println(System.identityHashCode(s1) + "----"+ System.identityHashCode(s2));
// s3和s4是相同的字符串对象,所以它们的identityHashCode值相同
String s3 = "Java";
String s4 = "Java";
System.out.println(System.identityHashCode(s3) + "----"+ System.identityHashCode(s4));
}输出:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAARIAAABjCAIAAADYXBikAAAMVklEQVR4nO2cTW8bxxnH9/Mk6KU3sj7SRfsNWiDooYc1dLHdBAbaQ9EWaC+9kEBlOWhp2Dk0KZxEaQ1nLbeWFaSunLS1Tb+ItLWWLMeCUlmWRPFVpERtD0vuzsszsztckrLE/w9zEGfn9Zn57z67+6wsT82LtUaQ1l9tVap1Ib39Tv5nvzx/f3NP1cJ7v7rw9jt5odbCZMY6PSO1VprMWKedMOfz01ZmsiSWX5jKWGc+Z8pYll8rsrpYQJM8z5uYmJCnMzExoaqy/mqLLXnz1s39g05lcab+ze3dV8V2db1e3aq2OpXdTulFeau5X3i8uFOt01ZbmctPF8p8XrkwnZ9boX8xNYQDUr5YkWiO7Z0fycpcPp8nqpMU73zmp5ffvFx5vrK0+Gxx4WnxwcJX1z/afXgxTgvaMZcL0/ne2MICeiuJWbQxaL6Y//cnxY+DZGmKsrLZ2CxXaw0hfecnF8/95v1f/O5PP//tH8n07q/f/+5PL0kVZ05blnVmpvfzyWTmrFNrLJzPWJmpBT+zOJWxMpPFRtXPDwoXpzLWWaf2ZPJ8N8c5Y2XOP6nGqM4VuH729HVxOkEKNOP/zUpoYmKCrLKxye3z0lO3tbm883zu+ePZcvHqwV6ztvBptVYJZPPfB8X23j5t92jZeOXCdFiG+cHuJjF/bkWsuDJH7DZCNuVCYUU9NJrKg7zXnve81Ue3p5fdZbe4+ORhceHeozvXP1RXKhemw+a1Y16ZCwS8MheIWWMlfw59y+bq7Pzsva+DFFc2W9uVer0ppL9+UUrbH5w4dfnEqcsnTl36Xi+dOHWpl/nB7cILuWK9/nQqY/U4OVXq5s+cITJLUyetMze6FUsXMtbZmXqzPnO2WzBzoVSPWz0sEDRIJV8n/h9sjud5QY6QtrYrrOna7fb247+tPf371cu/b7yca6wVOrXVytJcIJvHT5fLlRpt9xiy8Xrn/nw+n88LW61QmO4eIHdIWLGXE321CerEE02gGf/n/VsfP3lUWrj/+NHdh1rZqKalGHM3p6C42nAViauxiWzWN8tsiiub8k6t2WzJaXV9Z2l169nLrZPvfvLWj/7gp++/9+nS6tbS6ta3GztkrTc8TfSIzAxSeYfTQHPjWcW9Vn158+4/Lu6//nLzwccH+626OxPIZnlt42Fp+eDgIN6qHSUEzXie53mrX9/4SwzNHBniyqZSqe/utoRUqzd/cG76rR9PqtIPz322U23IFY9fqlS4G5XtktP+32xjbbb4rz93Nv9ZfXatseF2muVANq/re4Xi8uLzb4e8vodAbeOGoBmvPf/V9Y+OjWa8+LKp1ZqtVhtJlWq1Jmu6jcKV1tpsZ2v+1aJzsH2n8uxqdbXged6d/yxMX/uSTeuvY90qHCHq5YfMr1WvPd/ZvHWcNOPFl02jubu3t4+kSo3mLmu6xuul9bsfvipc8dP6vSv7rZrnea1We3unWq3VK36qNpQPBsAbTFzZ7Lba+0DNbqs9sjUDh05c2ezt7XWAmr095csrcPyIK5tOp3MA1HQ6nZGtGTh04spmZAMC4M0HsgHAGMgGAGMgGwCMgWwAMObNlo2bTVmprDvMLhx72D0MhhGY4g3CsS3b8ZLNepgWg2zMZOPYlojtJOg7dhuDMEW3v6CzYZ0y3GwqiVm8Q5RN10REPTebYhZd04S5bNxsKpm5BoDhGPrcOr11NYMdm2OHW8vNpvw/h2tAcdBDko2bTaVSyebRn3m9wRiQNgvXMmRzSLJxs6motRk4o5GNP7O+N77neWMgm/CCzPgv3V7DnN4w/L4du5vl2FYq63SvfrYT1uiWD4fq2FYqm+WPetyVM/YYPNHVCg4YXNbldSU64kcnjI292kijSmVdwVaRpgirp7JZWg862YiW5GwR/hCLyfTOB9zmY+bC1VXls04a61PyFtavvqKu6KTKlhymbHpD5joQnBDO7IEZLGEyfil/XoKrwu0V9mhvDe1eD+EmjBwDt18dm5iCbleE9dgCVEfEiY/PEm81hAK8rSJMIbh8pHeukQ1lSfZosB6EwaU+whOWIErZP1Xly7KRFipy9VV1uV5kSw5PNspbPqZp6d45lXWlrcQOkPpbOMWGa6C+3kSOQTCKylGJuK3ldyA9WT+XbV2hpHDniLIJC+tNEW9SeidNsqS8CmQxsQtqRYWJE+dFPl+SjWJGutVX1iUPMJtqFFcb1ckyRt9JZcOeVcOSUWOI2GF9XW10Nwl+g6GLozhFy9to6LLhbSZbsttMuKEUxYSJ8JCPOgYhm8jV18kmuESPWjbc6KmVFnwh0nzJZCOczWgnTR6D2p/p/96G6sjNZkWz8IvKuWuyrkxk04+TxsyWtqTfvG1T+4m+GIueG3c64MfH6JXIp520YFmzvNdAr77GSaPdyFHKRm6bO7cKl/PBOmlhBynb5sylGwN/b6m4e45CeiRAdUTfArMOq1SFKWAkG84YkY8EpLsq2pKSOlTFmPnyeb0cN5uybFt+TaXKpx4JhJ2z90Xq1efsp34kYCKbEMm2IYf/uhP0R8x7m9Gh8k5V+YeKzuXuAtkcD1ifT37oxByIvGsbCkdGNo4ySoADsjkuME5EP17ncDkysomJsWwuAzD24GoDgDGQDQDGQDYAGAPZAGBMMtkQ7/Ny6W5OOudqS4ZZTMnY1bkoDuJFJl89CeMwR2BIAtk4trRwzGti9ihR0s2le3l8RGq86uSbO7LNZIzDHIE5/Ydy5tLUOod5QQGqpJtLMxEW3R/xq5NbimwzEeMwR9AP/crGzaXTuZzgLoh7wg9HUpTkQ9PSOdegOuPoyJ82cW0mYRzmCPqiX9k44Rc+oePg5tK8Y949v0olhfNkd/ljVxcHEnQ+2C01DnMEfZFANsyKhb+Y+9Wcnc65ipKqs2bM6uRQ6DaFG2iTn0dmjmDUJHLSolbaj/2mSpK+SvzqZMnoNg0ZhzmCvkjySKC3ggq/gvXRpZLMkuvOrsrqLvPREevfaNo0ZxzmCPohyXubRG80mLLco6F41ZlXGmxRos2EjMMcgTGIEgDAGMgGAGMgGwCMgWwAMAayAcAYyAYAY5LKhgxClDKJWHdFVDxVPSwaUZ1uU/XIVxVB2R+xB0mMhytHP5tmQ6UpuxEWZjLlR9Vcm8CUBLLpLT9nfSKTjnWnouLJ6o7NbRlddSpTEahPDr5/4g9SMZ4A6dW/P1K2+XhfE7i5NBP7Jp2YBjf3cSRplAC/9FSmItZds/zq199cYFcs2SgD9fUdJUE7SHo8iuPdkdq2rZVN5NcEQqNSm8CUpE4aufO4TDr6kIqK17bZPRCeSnXeD+e3qYO4hiIb/SD1QWViRve3EIZDtKmN75RPbXybwJihyyYy1l32sukVZUPutdW5TDJQX99REiIHaTKeQIAqI0d8TdCTmNCFpk0Qk8O62ujakMu4ubTaFY8aghyoT9cU7qqNfpoMUjkeaThMDardXnaMq0046og2QSxGIpuY8fOKNuU7Wn31+JkD3DoDGKRkKBHiPijm1wR+iThtglgMXzZ0rDsZFU9Vpz8qoYPqNW2SQx2YbAwGqexdMxj23ibu1wThgzTyowdcbRIxAtmQse7M6wf9inLvKYImyOpkpvqtzQC3jsEgdR8OqC5XlIcX/TUBc3EhGoZskoAoAQCMgWwAMAayAcAYyAYAYyAbAIyBbAAwZtAfDkQ87418Eku8fSc74h75BsGh9Ku84MDQ4+dhjTFhsB8O8O/ddAHwZEn6EwMyyJ986853Ntr4eVhjnBjshwPs8hGhAjb32k4qSQfA00H++o1Cv8sTcgcZPw9rjBcDjhIIf1IRMmweUVIbkijvO+UrcMU/eSVDfgb7shzWGBMGHlxDuM6BP6CIOJYjq4iWVSsq++Oq0J4RxM/DGmPCQGXDxQz2jvABVb1ITkVJ840Sv2C4pcghifffRj+PnzWAjkHKhjpBOmSwukOeSilPhuxIGkLEBz38sSHGz8MaY8JQrzaiT60+v4b3u9InBlRH6ph8wicZYfw8rDEmDPreJnBeFO8FwsJkSSoAnuqIqSx1L9QcZfw8rDEmIEoAAGMgGwCMgWwAMAayAcAYyAYAYyAbAIyBbAAwBrIBwBjIBgBjIBsAjIFsADAGsgHAGMgGAGMgGwCMgWwAMAayAcAYyAYAYyAbAIyBbAAwBrIBwBjIBgBjIBsAjIFsADAGsgHAGMgGAGMgGwCMgWwAMOb/5OLSeYX8jsIAAAAASUVORK5CYII=" alt="" />
面试(1)-java-se-字符串的更多相关文章
- [Java SE] 字符串连接
Java 支持多种字符串连接方式,总结如下: package cn.spads.tool.string; import java.text.MessageFormat; /** * <b> ...
- Java SE教程
第0讲 开山篇 读前介绍:本文中如下文本格式是超链接,可以点击跳转 >>超链接<< 我的学习目标:基础要坚如磐石 代码要十份规范 笔记要认真详实 一.java内容介绍 ...
- 《写给大忙人看的java se 8》笔记
现在才来了解java8,是不是后知后觉了点? 新的编程技术,个人不喜欢第一时间跟进. 待社区已有实践积淀再切入似乎更划算些? 一点点精明的考虑. 不多说,上代码. //读<写给大忙人看的java ...
- Java SE 6 新特性: Java DB 和 JDBC 4.0
http://www.ibm.com/developerworks/cn/java/j-lo-jse65/index.html 长久以来,由于大量(甚至几乎所有)的 Java 应用都依赖于数据库,如何 ...
- Java SE 6 新特性: 对脚本语言的支持
2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马).跟 Tiger(Java SE 5)相比,Musta ...
- Java空字符串与null的区别和判断字符串是否为空的方法
Java空字符串与null的区别: 1.类型null表示的是一个对象的值,而并不是一个字符串.例如声明一个对象的引用,String a = null ;""表示的是一个空字符串,也 ...
- java判断字符串是否为空的方法总结
http://blog.csdn.net/qq799499343/article/details/8492672 以下是java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观 ...
- Java Se 基础系列(笔记) -- OO
记录所学到的关于Java Se的一些基础知识 1.对象是通过“属性(成员变量)”和“方法”来分别对应事物所具有的静态属性和动态属性 2.类(Class)是对某一类事物的抽象,对象(Object)为某个 ...
- 黑马程序员 ——Java SE(1)
----<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训 ...
- Java判断字符串是否为空的三种方法
方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.1: if(s == null || s.equals("")); 方法二: 比较字符串长度, 效率高, 是我知道的最 ...
随机推荐
- 转接口IC NCS8807:LVDS转MINI LVDS芯片
LVDS 4K TCON w/ Scaler1 General Description NCS8807 is an LVDS 4K TCON with advanced scaling func ...
- 重写NSArray与NSDictionary的descriptionWithLocale方法
重写NSArray的descriptionWithLocale方法: NSArray+log.h #import <Foundation/Foundation.h> @interface ...
- BroadcastReceiver简单应用实例
BroadcastReceiver是android四大组件之一,主要用于接收广播,它的简单实现方法如下: 1.定义继承BroadcastReceiver的MyReceiver类: /** * Crea ...
- boostrap详情解毒
详解Bootstrap表单组件 表单常见的元素主要包括:文本输入框.下拉选择框.单选框.复选框.文本域.按钮等.下面是不同的bootstrap版本: LESS: forms.less SASS: ...
- 表格组件神器:bootstrap table详细使用指南
1.bootstrap-table简介 1.1.bootstrap table简介及特征: Bootstrap table是国人开发的一款基于 Bootstrap 的 jQuery 表格插件,通过简单 ...
- xxxxxxxxxxxxxx
一.Linux命令的分类 1.内部命令:属于Shell解释器的一部分 2.外部命令:独立于Shell解释器之外的程序 3.type命令,查看命令是外部命令还是内部命令: [root@www ~]# t ...
- 使用NPOI写入Excel数据(ASP.NET)
第一次做这个写入数据的功能,研究了下npoi的类 IWorkbook wb = new HSSFWorkbook(); //创建表 ISheet sh = wb.CreateSheet("X ...
- WPF中button按钮同时点击多次触发click解决方法
DateTime lastClick = DateTime.Now; object obj = new object(); ; private void Button_Click(object sen ...
- 优雅地解决Ajax接口参数来自另一个接口的问题
最近闲赋在家,终于有时间回顾我在工作中遇到的一些东西,由于经验不足,有些方面做的不是很好.在上家公司曾经遇到一个小问题,就是Ajax的接口中有参数是从另一个接口后台传来的.当时我的做法是将需要参数的接 ...
- CLR via C#中的一个多线程例子
parallel的For和ForEach方法有一些重载版本允许传递三个委托 1.任务局部初始化委托(localInit),未参与工作的每一个任务都调用一次委托,在任务被要求处理前调用. 2.主体委托( ...