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