面试(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,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" 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("")); 方法二: 比较字符串长度, 效率高, 是我知道的最 ...
随机推荐
- K近邻 Python实现 机器学习实战(Machine Learning in Action)
算法原理 K近邻是机器学习中常见的分类方法之间,也是相对最简单的一种分类方法,属于监督学习范畴.其实K近邻并没有显式的学习过程,它的学习过程就是测试过程.K近邻思想很简单:先给你一个训练数据集D,包括 ...
- JavaScript原生Array常用方法
JavaScript原生Array常用方法 在入门Vue时, 列表渲染一节中提到数组的变异方法, 其中包括push(), pop(), shift(), unshift(), splice(), so ...
- 使用FSharp 探索Dotnet图像处理功能2--均衡灰度
重新捡起大学里的图像处理,好像之前什么都没学到,但是我为什么还留着这本书呢?嘿嘿. 看到均衡灰度处理,上来就是积分,概率分布的公式,头微微的有点疼.网上看了点介绍,隔天再拿起书本,总算有了点眉目.简而 ...
- 20170410Linux备课资料 --- 压缩与解压缩
这节课我们来学习一下压缩与解压缩,那什么是压缩与解压缩呢? 联想一下Windows系统: 选中文件,右键选择即可 如果压缩,可以选择要压缩的格式,而解压缩直接选择就可以完成了 Linux是通过命令的方 ...
- html列表问题
HTML无序列表 无序列表是一个项目的列表,此列项目运用粗体圆点(典型的小黑圆圈)进行符号. 无序列表运用 标签 Coffee Milk 浏览器闪现如下: <ul "="&q ...
- 破解Linux系统开机密码
在我们使用Linux虚拟机的时候,经常会忘记自己设置的开机密码,无奈之下只有重新建一个虚拟机,然而新建往往会浪费掉我们很多时间,这时候,知道如何破解Linux系统密码就显得很重要了. 下面我们使用bo ...
- Hive 的简单使用及调优参考文档
Hive 的简单使用及调优参考文档 HIVE的使用 命令行界面 使用一下命令查看hive的命令行页面, hive --help --service cli 简化命令为hive –h 会输出下面的这 ...
- Windows系统操作指令汇总
CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本.文件系统版本) 1. appwiz.cpl:程序和功能 2. calc:启动计算器 3. certmgr ...
- 设计模式的征途—3.抽象工厂(Abstract Factory)模式
上一篇的工厂方法模式引入了工厂等级结构,解决了在原来简单工厂模式中工厂类职责太重的原则,但是由于工厂方法模式的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,从而增加系统开销.那么,我们应该 ...
- 使用Spigot搭建MineCraft服务器
MineCraft 这种游戏还是人多了好玩,以前的服务器放在同学的Windows电脑上,每次我们想玩的时候就让让去打开,但是总是有一些原因,想玩的时候服务器没开着,不想玩的时候服务器空开着费电.昨天一 ...