intern()方法的使用
生活随笔
收集整理的這篇文章主要介紹了
intern()方法的使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
intern()
intern方法的作用是:如果字符串常量池中已經(jīng)包含一個字符串等于此String對象的字符串,則返回常量池中的這個String對應的對象,
否則將其添加到常量池并返回常量池中的引用。
在jdk1.7以后,就不會像之前那樣把String對象復制到常量池,而僅僅復制堆中String對象的引用至常量池。
public class RuntimeConstantPool {public static void main(String[] args) {//放在了堆中String tr1=new StringBuilder("常量").append("池").toString();//將"常量池"這個字符串的引用放入常量池String tr2=tr1.intern();System.out.println(tr2==tr1);String st=new StringBuffer("jav").append("a").toString();//"java"這個字符串已經(jīng)存在在常量池里String st2=st.intern();System.out.println(st2==st);} }故這段代碼在1.7+版本運行為true,false,在1.6-則為 false,false。
常量池的位置
JAK1.6在方法區(qū)
JAK1.7放在堆里面
JAK1.8以后放在一個獨立空間里面,叫做“元空間”
轉載于:https://www.cnblogs.com/lshao/p/9689586.html
總結
以上是生活随笔為你收集整理的intern()方法的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于单片机GSM的防火防盗系统的设计
- 下一篇: linux uvc协议_linux uv