栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

字符串常量的直接值(常量池 const pool)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

字符串常量的直接值(常量池 const pool)

关于字符串直接量有一点需要指出,当程序第一次使用某个字符串直接量时,Java会使用常量池 (constant pool)来缓存该字符串直 接量,如果程序后面的部分需要用到该字符串直接量时Java 会直接 使用常量池中的字符串直接量。
提示: 由于String类是一个典型的不可变类,因此String对象创建出来就不可能被改变,因此无须担心共享String对象会导致混乱。 提示: 常量池指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据。它包括关于类、方法、接口中的常量,也包括字 符串直接量。
看如下程序:

 

运行结果为:

 

Java会确保每个字符串常量只有一个,不会产生多个副本。例子中的s0和s1中的"hello"都是字符串常量,它们在编译期就被确定了, 所以s0==s1返回true;而"he"和"llo"也都是字符串常量,当一个字符 串由多个字符串常量连接而成时,它本身也是字符串常量,s2同样在 编译期就被解析为一个字符串常量,所以s2也是常量池中"hello"的引 用。因此,程序输出s0==s1返回true,s1==s2也返回true。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/302233.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号