java 字符串String.intern()方法学习
2024-09-06 00:59:06
在jdk1.6与jdk1.7中,String类中的intern()方法实现的原理是有一些差异的。
1、在jdk1.6中,intern()方法是先查找字符串常量池是否含有当前字符串,如果没有,那么就在字符串常量池中创建 该字符串,并且返回该字符串在字符串常量池中的引用
2、在jdk1.7中,intern()方法也是先查找字符串常量池中是否含有当前字符串,如果没有,那么就在堆中创建改字符串,并且返回该字符串在堆中的引用
这一改动会影响到相关比较的结果,一下是代码的实例
String s = new String("Hap")+ new String("py");
System.out.println(s.intern() == s);
在jdk1.6版本中,该结果为false,因为s在堆中,s.intern()在字符串常量池中
在jdk1.7版本中,该结果为true,因为s和s.intern()都在堆中,并且都指向同一个字符串。
最新文章
- xargs的原理剖析及用法详解
- Jenkins学习二:Jenkins安装与配置
- HDFS &; MapReduce异构存储性能测试白皮书
- linux定时执行任务
- MFC学习之窗口基础
- C++ primer 练习9.49
- oracle12 pl/sql
- ExtJS中动态设置TextField的readOnly属性
- shell 求总分
- Nagios设置只监控不报警
- 解决GitHub未配置SSH key提示错误信息
- mina教程
- linux命令——iotop
- ElasticSearch 使用问题
- Android Studio向项目添加C/C++原生代码教程
- ArcGIS Desktop水文计算
- BAT面试的准备—iOS篇
- 如何更新world文档的目录
- Log4j(3)--rootLogger根配置和appender输出类型配置
- Project Tango Explorer