Java-string字符串

简介:

String、StringBuffer、StringBuilder都是final修饰的,都不可以继承

String、StringBuffer、StringBuilder底层都是数组实现的,只不过String中的数值用final修饰,所以String类对象的值不可改变

StringBuffer、StringBuilder都是可变数组,可以用append()方法在字符串尾部添加字符串

StringBuffer是线性安全的,StringBuilder是线性不安全的

String string = "string"; 创建1个对象,存放在字符串池中,如果字符串池中存在该字符串,就创建0个对象

String String = new String("string"); 创建了2个对象,1个存放在字符串池中,1个存在堆区中,如果字符串池中已经存在该字符串,就只创建1个对象

String类的intern()方法可以返回该字符串在常量池中的对象的引用

String类的toLowerCase()、toUpperCase()、replace()、trim()、subString()、concat()方法,都不会改变本身引用字符串的值,而是返回一个新的字符串

每当我们创建字符串常量时,JVM会首先检查字符串常量池,如果该字符串已经存在常量池中,那么就直接返回常量池中的实例引用。如果字符串不存在常量池中,就会实例化该字符串并且将其放到常量池中。由于String字符串的不可变性我们可以十分肯定常量池中一定不存在两个相同的字符串

相关文章
|
2月前
|
Java 索引
java基础(13)String类
本文介绍了Java中String类的多种操作方法,包括字符串拼接、获取长度、去除空格、替换、截取、分割、比较和查找字符等。
38 0
java基础(13)String类
|
23天前
|
Java 测试技术 开发者
Java零基础-indexOf(String str)详解!
【10月更文挑战第14天】Java零基础教学篇,手把手实践教学!
108 65
|
18天前
|
存储 安全 Java
Java零基础-字符串详解
【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
95 60
|
5天前
|
索引 Python
String(字符串)
String(字符串)。
12 3
|
8天前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
30 6
|
1月前
|
Java 数据库
案例一:去掉数据库某列中的所有英文,利用java正则表达式去做,核心:去掉字符串中的英文
这篇文章介绍了如何使用Java正则表达式从数据库某列中去除所有英文字符。
46 15
|
23天前
|
Java 测试技术 开发者
Java零基础-indexOf(String str)详解!
【10月更文挑战第13天】Java零基础教学篇,手把手实践教学!
38 1
|
26天前
|
NoSQL Redis
Redis 字符串(String)
10月更文挑战第16天
37 4
|
27天前
|
安全 Java 测试技术
Java零基础-StringBuffer 类详解
【10月更文挑战第9天】Java零基础教学篇,手把手实践教学!
24 2
|
1月前
|
canal 安全 索引
(StringBuffer和StringBuilder)以及回文串,字符串经典习题
(StringBuffer和StringBuilder)以及回文串,字符串经典习题
33 5