Java String的intern用法解析

作者:百变小超 时间:2023-04-22 19:03:35 

这篇文章主要介绍了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 不成立;

来源:https://www.cnblogs.com/dasheng-maritime/p/11710021.html

标签:java,string,intern
0
投稿

猜你喜欢

  • flutter material widget组件之信息展示组件使用详解

    2023-06-22 08:45:35
  • C#中后台post请求常用的两种方式总结

    2023-04-21 17:29:40
  • C#实现简单合并word文档的方法

    2022-10-27 10:50:00
  • Spring Boot自定义Starter组件开发实现配置过程

    2022-05-31 16:07:12
  • JDK源码中一些实用的“小技巧”总结

    2022-10-21 08:17:50
  • spring中使用@Autowired注解无法注入的情况及解决

    2023-06-10 21:48:24
  • Java读写Windows共享文件夹的方法实例

    2022-10-02 02:25:45
  • C#复制数组的两种方式及效率比较

    2023-07-15 04:19:12
  • Java实现整数分解质因数的方法示例

    2022-01-27 23:10:04
  • 基于Spring-Security自定义登陆错误提示信息

    2021-09-20 17:33:40
  • 详解Android开发中Fragment的使用

    2023-05-02 20:32:25
  • 浅谈C# 中的委托和事件

    2021-06-06 18:53:07
  • Springboot 内部服务调用方式

    2023-08-24 00:32:20
  • C#删除只读文件或文件夹(解决File.Delete无法删除文件)

    2022-06-30 15:01:59
  • Android实现控制摄像头拍照

    2022-06-03 02:14:06
  • Android Map新用法:MapFragment应用介绍

    2023-02-11 20:50:47
  • 初步认识C#中的Lambda表达式和匿名方法

    2023-07-03 00:23:28
  • 一文详解Object类和抽象类

    2023-06-09 16:27:14
  • Java对象传递与返回的细节问题详析

    2023-04-07 16:42:50
  • Java与Scala创建List与Map的实现方式

    2021-07-19 23:53:07
  • asp之家 软件编程 m.aspxhome.com