欢迎使用我的 在线工具

小D

读历史、看小说、写程序都是我所爱。技术不好,头脑不灵光,靠的是兴趣。
随笔 - 35, 文章 - 25, 评论 - 13, 引用 - 0
数据加载中……

Java字符串处理机制

 * 简单的总结下:intern()方法
 * 这个方法是扣留的意思。呵呵。
 * 把当前字符串扣留到池中,然后用同样的字符串时就是从内存池中取,而不会产生新对象,提供效率了撒。
 * 都知道我们在JVM中内置了一个字符串池。
 * 所有的字面值字符串和字符串赋值常量表达式都用intern()方法进行操作。
 * 但是有一点不同,就是通过new生成的字符串对象,这个对象生成了两个字符串对象,
 * 一个是字面字符串(这个可以从池中取,或者生成新字符串对象,并扣留到池中),然后在将这个字符串对象
 * 的值传给new出来的字符串对象的构造器,生成一个新字符串对象(这个字符串是没有扣留到池中的),记住new关键字总是生成了对象。
 * 而我们给这个new出的字符串调用intern()方法,就会把这个字符串对象扣留到池中,而且如果池中有相同的字面值的字符串,
 * 就会返回池中的字符串,如果我们将该字符串引用赋给原先字符串的引用变量,那么我们就会省去一个对象,原先的字符串对象就会被某一个时刻回收,
 * 如果池中没有相同值的字符串就返回该对象自身。

posted on 2009-11-04 20:57 vagasnail 阅读(300) 评论(0)  编辑  收藏 所属分类: Java


只有注册用户登录后才能发表评论。


网站导航: