Java字符串(String_StringBuilder_StringBuffer)

简介: 版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/54015446 String类不可变字符序列 String类中使用字符数组保存字符串,但是字符数组是用final修饰的。
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/54015446

String类

不可变字符序列

 String类中使用字符数组保存字符串,但是字符数组是用final修饰的。不可变

   private final char value[];

构造方法:
String() 初始化一个新创建的 String 对象,使其表示一个空字符序列。
String(byte[] bytes) 通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。
String(byte[] bytes, Charset charset) 通过使用指定的 charset 解码指定的 byte 数组,构造一个新的 String。

方法
indexOf(char ch) 返回指定字符在此字符串中第一次出现处的索引
charAt(int index) 返回指定索引处的 char 值
lastIndexof() 返回指定字符在此字符串中最后一次出现处的索引。
startWith() 测试此字符串是否以指定的前缀开始。
endsWith()测试此字符串是否以指定的后缀结束
subString() 返回一个新的字符串,它是此字符串的一个子字符串。
split()根据给定正则表达式的匹配拆分此字符串。
toLowerCase()转换为小写,返回新字符串
toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写
equalsIgnoreCase()将此 String 与另一个 String 比较,不考虑大小写。

StringBuilder类

可变字符序列
线程不安全,效率高

构造函数:
StringBuilder() 构造一个其中不带字符的字符串生成器,初始容量为 16 个字符。
StringBuilder(int capacity) 构造一个其中不带字符的字符串生成器,初始容量由 capacity 参数指定。
StringBuilder(String str) 构造一个字符串生成器,并初始化为指定的字符串内容。

方法:
append(char c) 追加
delete(int start, int end) 删除start ~ end-1字符
deleteCharAt(int index)
ensureCapacity(int minimumCapacity) 确保容量大于minimumCapacity
getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 把srcBegin~srcEnd复制到dst的dstBegin位置处
indexOf(String str) 返回str第一次出现的位置
insert(int offset, char c) 插入
replace(int start, int end, String str) 把start~end替换为str
reverse() 逆置

StringBuffer类

线程安全,效率低,与StringBuilter基本一样,他们都继承于抽象类AbstractStringBuilder。StringBuffer中的函数大部分是synchronize同步的,所以执行时会受其他线程的影响。效率会降低。
所以,如果程序用不到多线程,那么使用StringBuilder更高效。

相关文章
|
2月前
|
SQL JSON Java
告别字符串拼接:用Java文本块优雅处理多行字符串
告别字符串拼接:用Java文本块优雅处理多行字符串
355 108
|
2月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
313 100
|
2月前
|
开发者 Python
Python中的f-string:高效字符串格式化的利器
Python中的f-string:高效字符串格式化的利器
419 99
|
2月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
|
2月前
|
开发者 Python
Python f-string:高效字符串格式化的艺术
Python f-string:高效字符串格式化的艺术
|
3月前
|
Python
Python中的f-string:更简洁的字符串格式化
Python中的f-string:更简洁的字符串格式化
276 92
|
1月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
257 5
|
4月前
|
SQL JSON Java
告别拼接噩梦:Java文本块让多行字符串更优雅
告别拼接噩梦:Java文本块让多行字符串更优雅
533 82