当前位置: 首页 > 面试题库 >

Java的String#intern()方法如何实现?

惠诚
2023-03-14
问题内容

我试图看一下Java的String#intern()方法,但是public native String intern();

一般来说,实习如何实施?在String的情况下?


问题答案:

对于Sun
Java,从的JVM_InternString〜3639行开始jvm.cpp。从技术上讲,实际的String方法在中java/lang/String.c,但会立即调用JVM_InternString。您可以继续StringTable::internsymbolTable.cpp

从更抽象的意义上讲,实习的目的是将等效字符串映射到单个规范字符串。



 类似资料:
  • 本文向大家介绍Java String intern()方法示例。,包括了Java String intern()方法示例。的使用技巧和注意事项,需要的朋友参考一下 String类的 intern()方法返回字符串对象的规范表示。因此,对于任意两个字符串s和t,当且仅当s.equals(t)为true时,s.intern()== t.intern()为true。 示例 输出结果

  • 描述 (Description) 此方法返回字符串对象的规范表示。 因此,对于任何两个字符串s和t ,当且仅当s.equals(t)为真时,s.intern()== t.intern()才为真。 语法 (Syntax) 以下是此方法的语法 - public String intern() 参数 (Parameters) 这是参数的细节 - 这是一种默认方法,不接受任何参数。 返回值 (Retur

  • 字符串s2=s1。concat(“ABC”);将在堆区域上创建一个新的字符串对象“ABCABC”。字符串s3=s2。实习生();应在字符串常量池上创建新的字符串对象。 由于这是两个不同的对象,它们的引用不应该相等。但似乎我错过了一些与intern()相关的重要内容。

  • 根据我,3个新的对象将创建。一个转到字符串池,两个匿名对象将由new运算符创建。但我不确定。 如果我错了,请解释。

  • 本文向大家介绍Java String split()方法示例。,包括了Java String split()方法示例。的使用技巧和注意事项,需要的朋友参考一下 String类的split(String regex,int limit)方法。将当前字符串拆分为给定正则表达式的匹配项。 此方法返回的数组包含此字符串的每个子字符串,该子字符串由另一个与给定表达式匹配的子字符串终止或由该字符串的结尾终止。

  • 本文向大家介绍Java String replace()方法示例。,包括了Java String replace()方法示例。的使用技巧和注意事项,需要的朋友参考一下 String类的replace()方法接受两个参数,即- oldChar-旧字符。  newChar-新字符。 返回一个新的String,该字符串是用newChar替换此字符串中所有出现的oldChar的结果。 示例 输出结果