java中String类的使用
2024-10-12 19:16:46
一、Strng类的概念
String类在我们开发中经常使用,在jdk1.8版本之前(包括1.8),String类的底层是一个char类型的数组,1.8版本之后是byte类型的数组,正是因为String类型的底层实现是数组,所以String类型的值是不可改变的,平常肉眼可见的可以改变String变量的值,其实本质上是将该变量的引用指向了一个其他的堆空间。
二、String类的使用
String类的声明赋值方式有两种:一是直接赋值:即String str = "abc";而是通过创建对象的方式赋值:即String str = new String("str");
首先说一下第一种赋值方式:这种赋值方式是在开发过程中使用最多的,也是最简便的,虽然在赋值过程中没有new 关键字,但是其实在内存中开辟了空间,由于这种方式比较特殊,所以是在堆的静态区开辟了空间用于存储该值,需要注意的是这个静态区跟堆不在一个地方。这边举个例子验证一下:
public static void main(String[] args) {
//第一种方式赋值
String str1 = "abc";
//第二种方式赋值
String str2 = new String("abc");
System.out.println(str1 == str2);
}
该代码的运行结果为false,虽然两个变量的值一样,但是它们各自指向的地址不一样,所以结果为false
第二种赋值方式比较少见,这种方式与我们平常创建类的对象的过程一样,即在堆空间中开辟内存。
三、String类中的方法的使用
String类中的方法在开发中比较常用,我就一一不列举了,这边提供一下关于String类中的方法的 jdk文档
最新文章
- Pitfalls: C++ 中的index运算符
- 9、ASP.NET MVC入门到精通——Controller(控制器)
- Discuzx系统 CSS 编码规范,CSS属性书写顺序
- KindEditor4.1.10,支持粘贴图片(转载!)
- Activiti系列: 如何给内置表单添加字段类型
- java.lang.ThreadGroup.enumerate
- 写出完美论文的十个技巧10 Tips for Writing the Perfect Paper
- Codeforces Round #205 (Div. 2) : B
- cmd连接mysql连接:mysql-h主机地址-u用户名-p用户密码(注:u与root可以不用加)
- $parse , $interpolate ,$complie , $destroy
- C/C++中char* 与char []定义的区别
- 读写锁的实现原理(pthread_rwlock_t)
- 2.4. 属性(Core Data 应用程序实践指南)
- Android开发 旋转屏幕导致Activity重建解决方法(转)
- 第29章 保护API - Identity Server 4 中文文档(v1.0.0)
- 2019-04-26-day041-数据库的索引
- Luogu 3369 / BZOJ 3224 - 普通平衡树 - [无旋Treap]
- Vue系列之 =>; 组件切换
- MySQL中正则表达式
- IDEA-Debug调试操作
热门文章
- vue 中v-if 与v-show 的区别
- ES6字符串随笔
- Masking Personal Information
- dubbo2.7.X版本带来的服务注册和服务调用方式改变
- 详解Git
- mysql触发
- 数据库会话数量过多,定期清理inactive会话
- 英特尔与 Facebook 合作采用第三代英特尔® 至强® 可扩展处理器和支持 BFloat16 加速的英特尔® 深度学习加速技术,提高 PyTorch 性能
- 利用Kotlin扩展函数实现任意View的点击处理(点击效果和防止快速点击)
- 阿里云函数计算 VSCode 使用,及部署 Docusaurus