String中intern用法

    科技2022-07-12  133

    再说这个方法之前,我们来看一段代码。

    String s1 = "HelloWorld"; String s2 = new String("HelloWorld"); System.out.println(s1 == s2);

    打印的结果是false,因为”==“比较的是引用地址,很显然是s1引用地址指向是字符串常量池,s2的引用地址指向的是堆内存空间中,所以为false。

    String s1 = "HelloWorld"; String s2 = new String("HelloWorld"); System.out.println(s1 == s2.intern());

    我们给s2调用一个intern方法,运行结果是true,原来intern这个方法是把s2堆空间的字符串移到字符串常量池中,所以s1和s2引用地址都指向字符串常量池,所以打印出来为true.

    Processed: 0.012, SQL: 8