专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 string常量池的概念

string常量池的概念

更新时间:2022-08-17 08:00:07 来源:动力节点 浏览586次

String类的概念

java.lang.String类用于描述字符串,Java程序中所有的字符串面值都可以使用该类的对象加以描述,如“abc”

该类由final关键字修饰,表示该类不能被继承,小伙伴可以了解一下final修饰符用法详解

从jdk1.9开始该类的底层不使用char[] 来存储数据,而是改成byte[] 加上编码标记,从而节约一些空间。

该类描述的字符串内容是个常量不可更改,因此可以被共享使用

如:

String str1 = “abc”; 其中“abc”这个字符串是个常量不可改变

str1 = "123 " 将“123”字符串的地址赋值给变量str1

改变str1的指向并没有改变指向的内容

常量池的概念

由于String类型描述的字符串内容是常量不可改变,因此Java虚拟机将首次出现的字符串放入常量池中,若后续代码出现了相同字符串内容则直接使用池中已有的字符串对象而无需申请内存及创建对象,从而提高了性能

常用的构造方法

方法声明 功能介绍
String() 使用无参方式构造对象得到空字符序列
String(byte[] bytes,int offset,int length) 使用bytes数组中下标从offset位置开始的length个字节来构造对象
String(byte[] bytes) 使用bytes数组中的所有内容构造对象
String(char[] value,int offset,int count) 使用value数组中下标从offset位置开始的count个字符来构造对象
String(char[] value) 使用value数组中的内容构造对象
String(String original) 根据参数指定的字符串内容来构造对象,新创建对象为参数对象的副本

以上就是关于“string常量池的概念”介绍,大家如果想了解更多相关知识,可以关注一下动力节点的Java在线学习,里面的课程内容从入门到精通,细致全面,很适合没有基础的小伙伴学习,希望对大家能够有所帮助。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>