Java基础

Java intern()用法

2019-12-17  本文已影响0人  小胖学编程

转自:Java intern() 方法

尽管在输出中调用intern方法并没有什么效果,但是实际上后台这个方法会做一系列的动作和操作。在调用"ab".intern()方法时会返回"ab",但是这个方法会首先检查字符串池中是否有"ab"这个字符串,如果存在则返回该字符串的引用,否则就将这个字符串添加到字符串池中,然后返回这个字符串的引用。

public class TestStr {
    public static void main(String[] args) {
        String str1 = "a";
        String str2 = "b";
        String str3 = "ab";
        String str4 = str1 + str2;
        String str5 = new String("ab");
        String str6 = "a" + "b";
        System.out.println(str3 == str6);  //true  静态字符串相加的结果会加入到字符串常量池中。
        System.out.println(str3 == str4);  //false  字符串相加,且含有变量,不会加入到常量池中。
        System.out.println(str5.equals(str3));  //true
        System.out.println(str5 == str3);   //false
        System.out.println(str5.intern() == str3); //true
        System.out.println(str5.intern() == str4);  //false
    }
}

总结:intern()方法就是返回调用者常量池中的引用。

上一篇 下一篇

猜你喜欢

热点阅读