Java 常用类(一) String类及StringBuffer,StringBuilder

时间:2021-10-08 03:55:59
  • 一个题引入:
  •   String  str1="a";
  •   String str2="b";
  •        String str3="a"+"b";
  •        String str4=str1+str2;
  •        理解说明:str3  对象创建,编译初始化时,变量的初始值存放在常量池(或称之为直接数)中,题中  常量池中放入,“a”,"b","ab" 三个字符串
  •                          str4   str1 和str2均为引用变量,str4为String类型+String类型 其底部是将Str转化为StringBulider类型的null值, 然后通过append()方法修改字符串,添加上了str1,str2(String类型的运算符重载)
  •        String类
  •        1.   String类是一个不可变类,一个String对象所包含的字符串内容永远不会被改变。
  •                     不可变类(immutable):创建了类的实例后,不允许修改其的属性。
  •                     举例:包装类,String类;
  •                     详情了解,不可变类与可变类
  •        2.     构造器方法
  •                String()
  •                String(String value)
  •                String(char[] value)
  •               String(byte[] bytes)
  •               String(byte[] bytes, String charsetName) 指定编码格式的字节组
  •         3.         常用方法
  •                      length()   返回长度
  •                      char charAt(int index) 返回index位置的字符
  •                      equals(Object obj) 判断内容是否相同
  •                      equalsIgnoreCase(Object obj) 判断内容是否相同,忽略大小写
  •                      int compareTo(String str)     按照字典次序比较两个字符串的大小,大 返回一个大于0数值,=返回0 小返回小于0的数值、
  •                      indexOf() ,lastindexOf()  返回第一次出现位置(last则从末尾开始查询)
  •                      concat(String str)  连接字符串
  •                      substring(int begin)   substring(int begin,int end)  返回子字符串
  •                      String[] split(String regex) 根据regex字符串分割
  •                     replace(String regex,String replacement)  替换字符串
  •                     replaceFirst(String regex,String replacement)  替换字符串,只替换首个
  •                     trim()  删除收尾空格
  •                    String valueOf(基本数据类型 参数名) 把基本类型转换为String类型
  •                      toUpperCase()  转为大写
  •                      toLowerCase()   转为小写       

 

  •                      StringBuffer类 可变类  表示字符串缓存
  •                      构造方法:
  •                      StringBuffer()
  •                      StringBuffer(int length) 长度为length的空缓冲区
  •                      StringBuffer(String str) 16个字符的初始容量。
  •                     常用方法:
  •                     length() 返回长度
  •                     append()向缓冲区中添加新的字符串
  •                     charAt(int index) 返回index位置的字符
  •                     setCharAt(int index,char ch)替换
  •                     getChars(int begin,int end,char[] dst,int dstBegin) 获取一段,与String的方法类似
  •                     subString()截取
  •                     insert(int offset,String str)  插入

      StringBuilder

                构造方法

                     与StringBuffer类似,不具体概述,初始容量同为16

               常用方法 与StringBuffer类似

                     append(数据类型,参数名)

                    

         二者区别:

                       相同点:

                      1.同为用来处理字符串

                      2.length(),toString(),charAt(),subString()方法,功能相同

                      3.字符索引从0开始

                     不同点:

                      1.String类  不可变类,内容不可修改,而诸多修改方法只是在创建新的字符串。 

       StringBuffer可变类 ,内容可以修改,诸多方法是在修改内容。

                     2.String类 重写了Object类的equals方法

                        StringBuffer 没有重写

                     3.String和StringBuffer都重写了Object的toString()方法,String返回实例本身,StringBuffer返回一个内容相同的String对象的引用。

                     4.String对象可以用操作符“+”连接。

      运行速度:StringBuilder > StringBuffer > String

      安全性:StringBuilder是线程不安全的,而StringBuffer是线程安全的