`
chenhongquan
  • 浏览: 45005 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

public String intern

 
阅读更多

public String intern()返回字符串对象的规范化表示形式。 
一个初始时为空的字符串池,它由类 String 私有地维护。 

当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(Object) 方法确定),则返回池中的字符串。否则,将此 String 对象添加到池中,并且返回此 String 对象的引用。 

它遵循对于任何两个字符串 s 和 t,当且仅当 s.equals(t) 为 true 时,s.intern() == t.intern() 才为 true。 

返回:
一个字符串,内容与此字符串相同,但它保证来自字符串池中。

分享到:
评论

相关推荐

    String类的intern、split方法

    String 类的 intern 方法是一个本地方法,定义如下:public native String intern();该方法返回一个字符串对象的内部化引用,由 String 类维护一个初始为空的字符串的对象池,当 intern 方法被调用时,如果对象池中...

    jdk1.8之后的String.intern()方法内存分析

    关于String.intern()方法,这个问题都被问烂了,有的文章在分析的时候还在用jdk1.7,jdk1.8之后内存模型发生了变化,内存的变化也会影响intern方法的执行,这里有必要写文章分析一下,请大家务必从头开始看,这样...

    关于java String中intern的深入讲解

    Java String 中 intern 的深入讲解 Java String 中的 intern 方法是一个非常重要的概念,它可以将字符串对象存储在字符串常量池中,以便重复使用相同的字符串对象,减少内存的占用。下面我们将深入讲解 Java String...

    Java String的intern用法解析

    Java String的intern用法解析 Java String的intern方法是Java中一个非常重要的方法,它可以将字符串常量池中的字符串对象返回给我们。今天,我们将深入探究Java String的intern用法解析,了解它的工作原理和应用...

    Java String对象的经典问题

    `String`类提供了一个名为`intern()`的方法,该方法的作用是返回字符串对象的规范化表示形式。具体来说,当调用`intern()`方法时,如果字符串池中已经存在一个与当前字符串完全相同的字符串,则返回该字符串的引用;...

    深入理解Java String#intern()内存模型

    大家知道,Java中string.intern()方法调用会先去字符串常量池中查找相应的字符串,如果字符串不存在,会在字符串常量池中创建该字符串然后再返回。  字符串常量池是一个固定大小的HashMap,桶的数量默认是1009, ...

    正确使用String类的几点注意

    public static void main(String[] args) { String s1 = "hello"; String s2 = new String("hello"); String s3 = new String("hello"); testString(s1, s2, s3); s2 = s2.intern(); System.out.println...

    Java常用类与基础API-String的构造器与常用方法

    - `public String(String original)`: - 初始化一个新创建的 `String` 对象,使其表示一个与参数相同的字符序列。简而言之,这个构造方法创建了一个原始字符串的副本。 - `public String(char[] value)`: - ...

    李兴华老师的面向对象

    - `public String replaceFirst(String old, String newStr)` - **其他操作** - `public String trim()` - `public String toLowerCase()` - `public String toUpperCase()` 综上所述,面向对象的编程思想和...

    浅谈Java String内幕(下)

    String.intern()原理  String.intern()是一个Native方法,底层调用C++的 StringTable::intern 方法,...  public static void main(String args[]) {  String s1 = new StringBuilder().append("String").append

    String和StringBuffer详细用法总结

    public String getString(String s1, String s2) { return new StringBuffer().append(s1).append(s2); } ``` 第一个方法使用`+`进行拼接,第二个方法使用`StringBuffer`。当输入字符串较少时,两种方法性能差异...

    Java中关于String的全面解析

    `public String(String original) {this.value = original.value;this.hash = original.hash;}` Java中的String是一个非常重要的类,它提供了两种创建方式和一种特殊的存储机制(String intern pool),并且String...

    String对象的内存分析

    例如,使用`String`的`intern()`方法可以确保重复的字符串引用同一个常量池中的实例,从而减少内存占用。同时,合理使用`StringBuilder`或`StringBuffer`进行字符串拼接,而非多次创建`String`对象,也能提高效率。

    java面试题122道基础题

    public static void main(String[] args) { String s=new String("abc"); System.out.println(s); String s1="abc"; String s2=new String("abc"); System.out.println(s==s1);//false System.out.println(s=...

    Java基础教程之String深度分析

    例如:public final class String { private final char value[];}。String类的源码可以帮助我们更好地理解String类的实现机制和内部工作原理。 本节课主要讲解了Java基础教程之String的相关知识点,包括String类的...

    java高并发写入用户信息到数据库的几种方法

    使用 String.intern() 方法可以实现对同一用户的加锁,锁粒度较小,能够更好地提高并发性能。 ```java public synchronized void write(Uers u){ synchronized(u.getUserId().intern()) { // do something } } `...

    Java String对象使用方法详解

    Java String对象使用方法详解 Java String对象使用方法详解是Java编程中一个非常...那么本例中String池存在”abc”,则调用intern()方法时返回的是池,str1==str2.intern()返回true,str2==str2.intern()返回true。

    java String的深入理解

    public static void main(String[] args) { String s1 = "abc"; // 在字符串池创建了一个对象 String s2 = "abc"; // 字符串池已经存在对象“abc”(共享),所以创建 0 个对象,累计创建一个对象 System.out....

    关于java的一个有趣的问题

    这里的构造函数`public String(String original)`接收一个已有String对象作为参数,所以第一个对象是字面量"abc",第二个是new操作符创建的新对象。 String对象的创建主要有两种方式:1) 使用new关键字,如`new ...

    JAVA面试题解惑系列114页.pdf

    String pool存储常量字符串,使用`String.intern()`方法可以将字符串放入池中。 - **日期和时间的处理**:Java提供了`java.util.Date`和`java.time`包来处理日期和时间,`java.time`包在Java 8中引入,提供了更现代...

Global site tag (gtag.js) - Google Analytics