zoukankan      html  css  js  c++  java
  • 理解String的intern()方法

    API文档中的介绍:

    intern

    public String intern()
    Returns a canonical representation for the string object.

    A pool of strings, initially empty, is maintained privately by the class String.

    When the intern method is invoked, if the pool already contains a string equal to this String object as determined by the equals(Object)method, then the string from the pool is returned. Otherwise, this String object is added to the pool and a reference to this String object is returned.

    It follows that for any two strings s and ts.intern() == t.intern() is true if and only if s.equals(t) is true.

    All literal strings and string-valued constant expressions are interned. String literals are defined in section 3.10.5 of the The Java™ Language Specification.

    Returns:
    a string that has the same contents as this string, but is guaranteed to be from a pool of unique strings.
    意思就是说:
    该方法返回一个规范化表示的string对象。
    一个字符串常量池,初始化为空,且被String类私有地维护。
    当intern()被调用时,如果常量池中存在和该String对象equal的对象(由equals方法决定),则返回常量池中已有的String对象,若不存在,则将该对象加入常量池,并返回该对象的引用。
    代码验证如下:
    1 public static void main(String[] args){
    2         String a="abc";
    3         String b=new String("abc");
    4         String c=b.intern();
    5         System.out.println(b==a);
    6         System.out.println(b==c);
    7         System.out.println(c==a);
    8     }

    输出结果为:

    1 false
    2 false
    3 true
  • 相关阅读:
    matlab的两种函数简单使用介绍
    有关水晶易表的使用
    有关navicat11版本的破解
    关于配置javaee过程中的问题
    svn在服务器配置安装过程中的问题
    数据挖掘一
    javaee版eclipse导包出现未找到类问题
    git常用命名行总结
    学习kafka的基本信息总结
    JQuery之事件冒泡
  • 原文地址:https://www.cnblogs.com/yanspecial/p/5296321.html
Copyright © 2011-2022 走看看