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长度的数组

目录
相关文章
|
7天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
|
24天前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
43 17
|
16天前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
20天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
70 4
|
21天前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
41 2
|
25天前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
|
29天前
|
存储 Java 编译器
java wrapper是什么类
【10月更文挑战第16天】
31 3
|
Java
Java---StringBuffer()方法的简单应用
Java---StringBuffer()方法的简单应用
133 0
|
Java
Java---StringBuffer()方法的简单应用
描述:在实际应用中,经常回遇到对字符串进行动态修改。这时候,String类的功能受到限制,而StringBuffer类可以完成字符串的动态添加、插入和替换等操作。 1、构造函数。
714 0
|
10天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####

热门文章

最新文章

下一篇
无影云桌面