三、运行时的动态常量(学习笔记)
时间:2022-07-26
本文章向大家介绍三、运行时的动态常量(学习笔记),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
public class Test {
public static void main(String[] args) {
String s1 = "abc";
String s2 = "abc";
String s3 = new String("abc");
String s4 = new String("abc");
System.out.println(s1==s2);
System.out.println(s1==s3);
System.out.println(s1==s3.intern());
System.out.println(s3==s4);
}
}
代码执行的结果:
true false true false
出现上面的
结果的解释如下图
任何一个字符串的创建都会扔到常量池中,常量池是方法区的一块存储空间
通过new 创建的对象会放到堆上
== 比较的对对象的内存地址
String 在常量池中存储的数据结构类似一个HashSet ,里面存储的是无序 不重复的字符串,所以两个“abc” 放入到里面存储的是一个
s3 和 s4 是通过new创建的对象,所以放入到堆中,所以两个对象的内存地址不一样。
而 通过 s3.intern() 这个方法,可以将s3从堆内存中放入到常量池中,所以进行比较的时候两个对象的地址是一样的。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 翻转二叉树
- optimizer.zero_grad()
- helm——工具使用举例
- Helm工具安装配置——2.14.3
- 论程序的健壮性——就看Redis
- SAP Spartacus路由参数的默认配置
- 这次用近万字的讲解带你干掉堆!
- Postgresql PL/PGSQL 程序语言系列 1 (存储过程过时了吗,与函数)
- Postgresql 从那个点看要优于 ORACLE SQL SERVER MYSQL
- VBA解析VBAProject 04——run length encoding
- TRTC Android端开发接入学习之实现语音聊天室(九)
- VBA解析VBAProject 03——解析dir流
- VBA解析VBAProject 01——实现的功能
- VBA解析VBAProject 02——解析
- 光怪陆离的世界之Delaunay三角剖分和Voronoi图