java编程工具类之StringBuffer+StringBuilder

简介: ## 字符串相关的类## java.lang包 String Serializable,CharSequence,Comparable 非常特殊的类 可以像常量一样创建对象 String str = "abc"; 内存存储 "abc"对象 char[] value String不可变特性 private final char[] value; 频繁的修改其内容的时候 性能很不好 StringBuffer## StringBuilder 1.所属的包 java.lang包 2.继承Abstr

## 字符串相关的类

## java.lang包

   String  

   Serializable,CharSequence,Comparable

   非常特殊的类   可以像常量一样创建对象

   String str = "abc";

   内存存储   "abc"对象  char[]  value

   String不可变特性 private final char[] value;

   频繁的修改其内容的时候   性能很不好

   StringBuffer

## StringBuilder

   1.所属的包  java.lang包

   2.继承AbstractStringBuilder 间接继承 Object  

   实现接口Serializable,CharSequence,Appendable

   StringBuffer/StringBuilder没有compareTo方法

   StringBuffer/StringBuilder含有一个String没有的方法 append();拼接

   3.特性

   可变字符串   char[] value;  动态扩容

   4.对象的构建

   //无参数构造方法  构建一个默认长度16个空间的对象  char[]

   StringBuilder builder = new StringBuilder();

   //利用给定的参数 构建一个自定义长度空间的对象 char[]

   StringBuilder builder = new StringBuilder(20);

   //利用带String参数的构造方法  默认数组长度字符串长度+16个

   StringBuilder builder = new StringBuilder("abc");

   5.StringBuilder中常用的方法

   最主要的方法 append()  频繁的拼接字符串的时候使用此方法 提高性能

   ensureCapacity(int minimumCapacity)  确保底层数组容量够用

   capacity();//字符串底层char[]的容量

   length();//字符串有效元素个数(长度)

   setLength();//设置字符串的有效元素个数

   char = charAt(int index);

   int = codePointAt(int index);

   String = substring(int start [,int end]);

   注意需要接受返回值 看见截取出来的新字符串效果

   StringBuilder = delete(int start [,int end]);

    StringBuilder类中独有的方法String类没有

    将start到end之间的字符串删掉  不用接受返回值就看到效果啦

   StringBuilder = deleteCharAt(int index);

    String类中没有的方法

    将给定index位置的某一个字符删除掉啦

   int = indexOf(String str [,int fromIndex]);

   int = lastIndexOf(String str [,int fromIndex])

    找寻给定的str在字符串中第一次出现的索引位置  带重载 则从某一个位置开始找

insert(int index,value);

 将给定的value插入在index位置之上

replace(int start,int end,String str);

 将start和end之间的部分替换成str

 builder.replace(2,5,"zzt");

setCharAt(int index,char value);

 将index位置的字符改成给定的value

toString()

 将StringBuilder对象 构建成一个string对象 返回

trimToSize()

 将数组中无用的容量去掉  变成length长度的数组

目录
相关文章
|
6天前
|
Java
【Java】Math、System、RunTime、BigDecimal类常用方法
【Java】Math、System、RunTime、BigDecimal类常用方法
|
4天前
|
安全 Java API
16 个最常用的 Java 实用程序类
【8月更文挑战第16天】
15 1
16 个最常用的 Java 实用程序类
|
2天前
|
SQL Java Apache
实时计算 Flink版操作报错合集之使用parquet时,怎么解决报错:无法访问到java.uti.Arrays$ArrayList类的私有字段
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
3天前
|
安全
String,Stringbuffer,StringBuilder的区别
【8月更文挑战第16天】String,Stringbuffer,StringBuilder的区别
11 2
|
5天前
|
Oracle 安全 Java
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
|
6天前
|
设计模式 人工智能 Java
Java 如何使用单例类
Java 如何使用单例类
5 1
|
1天前
|
缓存 安全 Java
【揭秘】String vs StringBuilder vs StringBuffer:三大字符串类的秘密较量!你真的知道何时该用哪个吗?
【8月更文挑战第19天】探讨Java中`String`、`StringBuilder`与`StringBuffer`的区别及应用场景。`String`不可变,适合做哈希表键或多线程共享。`StringBuilder`支持动态修改字符串,适用于单线程环境以提高性能。`StringBuffer`与`StringBuilder`功能相似,但线程安全。示例代码展示各类型的基本用法。选择哪种类型取决于具体需求和性能考量。
|
6天前
|
Java API
【Java】Object、Objects、包装类、StringBuilder、StringJoiner
【Java】Object、Objects、包装类、StringBuilder、StringJoiner
|
2月前
|
Java UED
Java中String强转int:一种常见的错误和解决方法
在Java中将非数字字符串转换为整数会导致`NumberFormatException`。要解决这个问题,可以使用`try-catch`捕获异常,正则表达式验证数字格式,或利用异常信息提供错误提示。例如,`Integer.parseInt()`会因遇到非数字字符如`"123abc"`而抛出异常,但通过异常处理或正则`\\d+`可确保安全转换。记得在编程时避免直接强转,以防止程序异常中断。
|
4天前
|
前端开发 Java
成功解决:java.lang.String cannot be cast to java.lang.Integer
这篇文章记录了作者在使用Axios二次封装时遇到的一个Java类型转换问题,即前端传递的字符串参数不能直接转换为Integer类型,文章提供了正确的转换方法来解决这个问题。
成功解决:java.lang.String cannot be cast to java.lang.Integer