Java String的intern用法解析

 更新时间:2019年10月21日 08:28:52   作者:百变小超  
这篇文章主要介绍了Java String的intern用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了Java String的intern用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在Java6中,intern方法返回的是对应字符串在永久态(方法区)中的地址;Java7以后,intern方法返回的是该字符串首次创建时候的堆内存的地址;

在java7中:

package com.ecarx.daa.data.manager.utils;

public class StringTest {
  public static void main(String[] args) {
    String a = new StringBuffer("a").append("a").toString();
    String b = new StringBuffer("a").append("a").toString();
    System.out.println(a == b); // false
    if (a.intern() == a) { //true
      System.out.println("intern method was == the first object"); 
    }
    System.out.println(a.intern() == b); //false

    System.out.println(b.intern() == b); //false
    System.out.println(a.intern() == b.intern()); //true
  }
}

toString方法,每次会返回一个新的堆内存的地址,因此a不等于b;

由于intern方法等于首次创建的对象的堆地址,因此 a.intern() == a 成立;但 a.intern() == b 不成立;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • javaWeb项目部署到阿里云服务Linux系统的详细步骤

    javaWeb项目部署到阿里云服务Linux系统的详细步骤

    这篇文章主要介绍了javaWeb项目部署到阿里云服务Linux系统,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Java 发送http请求(get、post)的示例

    Java 发送http请求(get、post)的示例

    这篇文章主要介绍了Java 发送http请求的示例,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-10-10
  • Java源码解析HashMap的tableSizeFor函数

    Java源码解析HashMap的tableSizeFor函数

    今天小编就为大家分享一篇关于Java源码解析HashMap的tableSizeFor函数,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Spring Cloud微服务架构的构建:分布式配置中心(加密解密功能)

    Spring Cloud微服务架构的构建:分布式配置中心(加密解密功能)

    这篇文章主要给大家介绍了关于Spring Cloud微服务架构的构建:分布式配置中心(加密解密)的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用具有一定的参考学习价值,需要的朋友可以参考下
    2018-05-05
  • java+SQL server2008学生信息管理系统源码

    java+SQL server2008学生信息管理系统源码

    这篇文章主要为大家详细介绍了java+SQL server2008学生信息管理系统源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • java中的JSONP使用实例详解

    java中的JSONP使用实例详解

    json和JSONP这二者在开发中还是很常见的,本文重点给大家介绍下java中的jsonp使用实例详解,需要的朋友参考下
    2017-04-04
  • Spring.Net在MVC中实现注入的原理解析

    Spring.Net在MVC中实现注入的原理解析

    这篇文章主要介绍了Spring.Net在MVC中实现注入的原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • JVM的类加载过程详细说明

    JVM的类加载过程详细说明

    近来读了《深入理解JVM虚拟机》的部分内容,对JVM也慢慢有个整体的认识,今天就来分享一下我对JVM类加载过程的学习和理解,需要的朋友可以参考下
    2021-06-06
  • java实现excel和txt文件互转

    java实现excel和txt文件互转

    本篇文章主要介绍了java实现excel和txt文件互转的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • 使用java springboot设计实现的图书管理系统(建议收藏)

    使用java springboot设计实现的图书管理系统(建议收藏)

    这篇文章主要介绍了使用java springboot设计实现的图书管理系统,包含了整个的开发过程,以及过程中遇到的问题和解决方法,对大家的学习和工作具有借鉴意义,建议收藏一下
    2021-08-08

最新评论