Java String的intern用法解析
作者:百变小超 发布时间:2023-04-22 19:03:35
标签: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 不成立;
来源:https://www.cnblogs.com/dasheng-maritime/p/11710021.html


猜你喜欢
- 项目里面用到了语音唤醒功能,前面一直在用讯飞的语音识别,本来打算也是直接用讯飞的语音唤醒,但是讯飞的语音唤醒要收费,试用版只有35天有效期。
- 本文实例为大家分享了java判断某个点是否在所画范围内的具体代码,供大家参考,具体内容如下IsPtInPoly.javapackage co
- Spring Security中的内置过滤器顺序是怎么维护的?我想很多开发者都对这个问题感兴趣。本篇我和大家一起探讨下这个问题。HttpSe
- SpringBoot对actuator进行关闭management: endpoint: health
- Java 中的引用类型:强引用、软引用、弱引用和虚引用强引用如 Object object = new Object(),那 object
- 我们用一个简单的例子,来说明一下这种消息传递的机制。有一家三口,妈妈负责做饭,爸爸和孩子负责吃。。。将这三个人,想象成三个类。妈妈有一个方法
- 本文实例讲述了C#实现DataTable映射成Model的方法。分享给大家供大家参考,具体如下:这是数据库开发中经常遇到的问题,当然,这可以
- 写在开头java.util.Collection 作为Java开发最常用的接口之一,我们经常使用,今天我带大家一起研究一下Collectio
- 1、创建实体属性标记public class CellAttribute : Attribute {&n
- import java.io.File;import java.io.FileNotFoundException;import java.i
- synchronized 和 Reentrantlock多线程编程中,当代码需要同步时我们会用到锁。Java为我们提供了内置锁(synchr
- 数学原理:  
- 目前做项目中有一个需求是这样的,需要通过java发送url请求,查看该url是否有效,这时我们可以通过获取状态码来判断。try {URL u
- 在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似
- 简单看一下描述,例子最重要。1、getPath():返回定义时的路径,(就是你写什么路径,他就返回什么路径)2、getAbsolutePat
- 一.类与接口的区别类:描述了一个实体,包括实体的状态,也包括实体可能发出的动作。接口:定义了一个实体可能发出的动作。但是只是定义了这些动作的
- 本文讲述了Android使用国内镜像在线更新SDK的方法。分享给大家供大家参考,具体如下:什么是Android SDK:SDK:(softw
- 文章描述在前一篇写了如何将一张GIF动态图分解成一帧一帧的图片,这一篇我们就把喝进去的一瓢水给还回去。即把一张又一张的图片去拼合成一张GIF
- 先给大家展示效果图,如果感觉还不错,请参考实例代码效果图如下所示:具体代码如下:private void initData() { Bmob
- 第一步:官网(或跟硬件开发WMI的人沟通你需要的接口和参数定义,如果是和硬件开发的人协定WMI接口,直接看第二步)查找你需要的WMI信息;举