一般我们变成很少使用到 intern这个方法,今天我就来解释一下这个方法是干什么的,做什么用的

首先请大家看一个例子:

[java] view plaincopyprint?
  1. public static void main(String[] args) throws Exception {
  2. String a =  "b" ;
  3. String b =  "b" ;
  4. System.out.print( a == b);
  5. String c = "d" ;
  6. String d = new String( "d" ).intern() ;
  7. System.out.println( c == d);
  8. }

大家能看出来这个例子打印在控制台的消息吗?在这里控制台输出的结果都是true  true,原因在于 intern 这个方法返回的是 返回字符串对象的规范化表示形式,当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(该对象由 equals(Object) 方法确定),则返回池中的字符串。否则,将此 String 对象添加到池中,并且返回此 String 对象的引用。这时候c和d就是相等的。

下面在看一个例子:

[java] view plaincopyprint?
  1. String s1 = "ab123" ;
  2. String s2 = new String( "ab123" ) ;
  3. System.out.println( s1 == s2 );
  4. String s3 = s2.intern() ;
  5. System.out.println( s1 == s3 ) ;

看看这里输出的是什么,我想大家应该明白这个方法的作用是什么了吧!!

Java中intern()方法的作用相关推荐

  1. JAVA中intern()方法的详解

    很多童鞋可能在Java考试中或者笔试中遇到String字符串比较相等的问题,今天就来谈一谈 在JAVA虚拟机中,有运行时数据区,包含线程共享的:堆,方法区 和线程隔离的:程序计数器,Java虚拟机栈, ...

  2. String中intern方法的作用

    前言 读完这篇文章你可以了解,String对象在虚拟机内存中的存放,intern的作用,这么多String对象的创建到底有什么区别,String 创建的对象有几个!! 进入正题 先科普几个知识点 1. ...

  3. java中main方法的作用是什么_java中main方法是什么

    Java中的main方法,是一个java应用程序的入口,无论一个java的应用多么复杂庞大,或是多么的小,只要他是一个可以运行的java程序那么必然就要有一个main方法. main方法的定义格式通常 ...

  4. java中.next()方法的作用及应用?

    1..next()方法的作用:指针指向下一条记录,有记录(有值)返回true并把记录内容存入到对应的对象中,也就是obj.next()的obj中.如果没有返回false. 2..next()方法的应用 ...

  5. java中.next()方法的作用及应用

    1..next()方法的作用:指针指向下一条记录,有记录(有值)返回true并把记录内容存入到对应的对象中,也就是obj.next()的obj中.如果没有返回false. 2..next()方法的应用 ...

  6. JAVA中toString方法的作用(转)

    因为它是Object里面已经有了的方法,而所有类都是继承Object,所以"所有对象都有这个方法". 它通常只是为了方便输出,比如System.out.println(xx),括号 ...

  7. JAVA中toString方法的作用

    一句话概括:就是可以把实体类,或者其他类,以字符串或者规定的方式输出, 如果用了toString那么就会这样输出User 否则就会输出: 因为它是Object里面已经有了的方法,而所有类都是继承Obj ...

  8. Java之String系列--intern方法的作用及原理

    原文网址:Java之String系列--intern方法的作用及原理_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Java的String的intern方法的原理. 常量池简介 在 JAVA 语言中 ...

  9. Java 中finalize()方法起什么作用呢?

    转自: Java 中finalize()方法起什么作用呢? Java之finalize()方法功能说明 当我们在一个类中定义了finalize()方法时, 如果一个对象被垃圾收集器析构(回收)之前,则 ...

最新文章

  1. QIIME 2教程. 26为QIIME 2开发新插件DevelopingPlugin(2020.11)
  2. 伯克利AI研究院解析「反向课程学习」,改善「强化学习智能体」并应用于机器人技术
  3. 【tool】测试用例检查表范例
  4. java中arges.length_java中的args.length
  5. 从相册获取图片,并获取裁剪后图片(系统自带)
  6. Go 语言十年而立,Go2 蓄势待发
  7. 卷组删除pv_CentOS下删除一个卷组(VG)
  8. VS2013 产品密钥 – 所有版本
  9. spring 读取配置文件
  10. memcache、redis
  11. 阿里云大学生领取免费ECS服务器——测试题答案
  12. php qrcode二维码应用
  13. 手机支付宝服务器安全证书安装不了,手机上如何安装支付宝的安全证书?
  14. matlab 载波相位估计,光纤通信相干检测系统中波形处理与载波相位估计的研究...
  15. 群晖(synology)日历与IPhone日历同步
  16. 二十四节气和计算机专业,命理学与二十四节气的关系
  17. C语言sizeof与strlen详解(附大量笔试题题解过程)
  18. 代码实现矩阵求逆的三种方式(超详细、已实现)
  19. HDU - 1598
  20. error: ‘path_wts’ does not name a type

热门文章

  1. 链路追踪技术的应用及实践
  2. Hi Table定义未来电视!祝贺海信发布S7社交电视! ​
  3. 【入门】WebRTC知识点概览 | 内有技术干货免费下载
  4. Go 定时器内部实现原理剖析
  5. 小程序 setData 学问多
  6. CSS3 border-radius妙用
  7. [Linux Mysql] Linux下Mysql的基本操作
  8. C++ 模板中定义友元
  9. #翻译NO.5# --- Spring Integration Framework
  10. HDU 1225 覆盖的面积