JAVA-初步认识-常用对象API(String类-常见功能-intern方法)

Posted 照破山河万朵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA-初步认识-常用对象API(String类-常见功能-intern方法)相关的知识,希望对你有一定的参考价值。

一.

对于字符串内存进行一个剖析。

现在介绍一个方法,一会儿要用到,但是实际开发并不多见。

 

intern()可以对常量池进行操作,

s1是个对象,接着用s1对象去调用操作常量池中的方法,调用这个方法返回了池子中的对象。

接着进行对比,s1==s2么?结果是false,跟下图中的写法是一回事。

这里的s1是堆里面的一个对象,我这对象到池子里面去找寻了,池子里没有,然后就在池子里建了一个返回去了。

池子里有就拿回来用,没有就创建一个返回来。

(eclipse看源码,将光标放置在String上,按一下f3直接切换到string.class这个源文件上。按住ctrl,用鼠标对着string,出现两个选项,一个是解释,另一个是实现。点击解释即可)

对于String s1=new String("abc");怎么理解?这里new的是两个对象,"abc"字符串对象是在堆内存中的对象中维护的。而s1.intern是获取池中的数据。池中的数据是共享数据。

 

以上是关于JAVA-初步认识-常用对象API(String类-常见功能-intern方法)的主要内容,如果未能解决你的问题,请参考以下文章

JAVA-初步认识-常用对象API(集合框架-泛型-泛型方法)

JAVA-初步认识-常用对象API(基本数据类型对象包装类-概述)

JAVA-初步认识-常用对象API(集合框架-泛型-泛型类)

JAVA-初步认识-常用对象API(集合框架-Map集合-hashmap存储自定义对象)

JAVA-初步认识-常用对象API(集合框架-泛型-泛型限定-上限)

JAVA-初步认识-常用对象API(集合框架-泛型-泛型接口)