String的inturn()的运用
来源:互联网 发布:债券交易员 知乎 编辑:程序博客网 时间:2024/06/05 00:57
先明确一个概念:String s = new String("1");
jvm的处理如下:"newString("1")" 将在java 堆中生成,同时"1"在字符池中生成,堆对象生成s(对象的引用)存在虚拟机栈。
s.inturn():
jdk1.6 下调用s.intern(),此时返回值还是字符串"SEU_Calvin",表面上看起来好像这个方法没什么用处。
但实际上,在JDK1.6中它做了个小动作:检查字符串池里是否存在"SEU_Calvin"这么一个字符串,如果存在,就返回池里的字符串
如果不存在,该方法会把"SEU_Calvin"添加到字符串池中,然后再返回它的引用
jdk1.7 下调用s.intern(),存在下相同;不存在时,生成一个指向堆内对象的引用。
直接上代码解析。
输出结果为:
再分别调整上面代码2.3行、7.8行的顺序:
输出结果为:
以上;阅读全文
0 0
- String的inturn()的运用
- c++ string的运用
- string erase函数的运用
- c++之string的运用
- C++中string的运用
- string 的substr函数的运用
- 运用string的大整数类
- Swift教程之String的运用
- 关于char与string的运用
- C++ string和stringstream的简单运用
- String 类中方法的运用
- 小回顾-关于String的运用
- NYOJ 5 Binary String Matching【string find的运用】
- string的c_str和data()的运用,转为const char *
- JSONArray的运用,读取长的String字符串
- string.h 的memcmp()和memcpy()的运用
- string浅拷贝及其在dll中运用的注意事项
- string浅拷贝及其在dll中运用的注意事项
- 程序猿应该记住的几条基本规则
- linux下安装python3
- SQL列转行及行转列
- ubuntu安装jekyll报错 exit code 1
- springmvc-请求转发重定向(携带参数)
- String的inturn()的运用
- windows环境下idea的git安装与配置
- Python中最大最小赋值小技巧
- E-MapReduce大数据安全实践
- linux上wget命令出现HTTP request sent, awaiting response... 400 Bad Request问题
- 【bzoj2120: 数颜色】带修改莫队
- 如何通过Maven打包工程
- Centos之Node.js安装-yellowcong
- BZOJ4514:数字配对(费用流+数学)