String中intern()方法具有什么功能呢?

欣喜 Java经验 发布时间:2023-11-20 14:52:47 阅读数:12503 1
下文笔者讲述String对象中intern()方法的功能简介说明,如下所示

intern()方法的功能

jdk1.6中,将这个字符串对象尝试放入串池。
    当字符串池中有,则并不会放入
           返回已有的串池中的对象的地址
    如果没有,会将此对象复制一份
          放入字符串池,并返回字符串池中的对象地址


从Jdk1.7起
     将这个字符串对象尝试放入串池。
       如果字符串池中有,则并不会放入。返回已有的字符串池中的对象的地址
      如果没有,则会把"对象的引用地址"复制一份,放入字符串池,并返回字符串池中的引用地址
public class TestString {
    static void test01(){
        String s1 = new String("1")+new String("23");
        String s2 = "123";
        s1.intern();
        System.out.println( s1 == s2); //false
    }

    static void test02(){
        String s1 = new String("1")+new String("23");
        s1.intern();
        String s2 = "123";
        System.out.println( s1 == s2);// false
    }

    void test03(){
        String s1 = new String("1")+new String("23");
        s1.intern();
        String s2 = "123";
        System.out.println( s1 == s2);// false
    }

    static void test04(){
        String s1 = new String("1")+new String("23");
        String s2 = "123";
        System.out.println( s1 == s2);//false
        s1.intern();
        System.out.println( s1 == s2);//false
        s1 = s1.intern();
        System.out.println( s1 == s2);//true
    }

    public static void main(String[] args) {
        test01();
        System.out.println("-----------------");
        test02();
        System.out.println("-----------------");
        TestString t = new TestString();
        t.test03();
        System.out.println("-----------------");
        test04();
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202311/17004631997331.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者