面试(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("")); 方法二: 比较字符串长度, 效率高, 是我知道的最 ...
随机推荐
- python_21_线程+进程+协程
python_线程_进程_协程 什么是线程? -- os能够进行运算调度的最小单位,被包含在进程之中,是一串指令的集合 -- 每个线程都是独立的,可以访问同一进程下所有的资源 什么是进程? -- 每个 ...
- (转)Java线程面试题 Top 50
原文链接:http://www.importnew.com/12773.html 本文由 ImportNew - 李 广 翻译自 javarevisited.欢迎加入Java小组.转载请参见文章末 ...
- word-wrap: break-word;与word-break: break-all;文本自动换行
word-break:break-all和word-wrap:break-word都是能使其容器如DIV的内容自动换行它们的区别就在于:1,word-break:break-all 例如div宽200 ...
- Java排序算法之堆排序
堆的概念: 堆是一种完全二叉树,非叶子结点 i 要满足key[i]>key[i+1]&&key[i]>key[i+2](最大堆) 或者 key[i]<key[i+1] ...
- 2017华为机试题--Floyd算法
小K是X区域的销售经理,他平常常驻"5"城市,并且经常要到"1"."2"."3"."4"." ...
- Unity3D C#中使用LINQ查询(与 SQL的区别)
学过SQL的一看就懂 LINQ代码很直观 但是,LINQ却又跟SQL完全不同 首先来看一下调用LINQ的代码 int[] badgers = {36,5,91,3,41,69,8}; var skun ...
- AOP杂谈
1.什么是AOP? Spring 2大特性: IOC (Inverse of Control)和 AOP(Aspect Oriented Programming) PS: AOP:面向切面编程 设计 ...
- JQgrid表格的使用
html部分: <div class="tab"> <table id="datatable"></table> ...
- jQuery使用小结
$(document).ready( function(){} ); 选择器 $("p:first") 第一个元素 $("p.intro" ...
- Eclipse实现图形化界面插件-vs4e
vs4e插件下载地址:http://visualswing4eclipse.googlecode.com/files/vs4e_0.9.12.I20090527-2200.zip 下载完成后,解压,然 ...