目标黑马,我的自学之路:第七章 字符串和字符串缓冲区

一、字符串

       字符串用于描述字符串常用事物,是一个特殊的对象,它的最大的特点是一旦初始化就不可以被改变,存在于常量池中。

二、字符串的方法

      1、获取:(1)length():字符串包含的字符数,既字符串长度,返回值类型为int。

                      (2)charAt(int  index):根据位置获取位置上的某个字符串,返回值类型为char,当index不存在时抛出StringIndexOutofBoundsException。

                      (3)indexOf(int ch):获取字符ch在字符串中第一次出现的位置,返回值类型为int。

                               indexOf(int ch,int fromIndex):从fromIndex位置开始获取字符ch在字符串中出现的位置,返回值类型为int。

                               indexOf(String str):获取字符串str在字符串中第一次出现的位置,返回值类型为int。

                               indexOf(String str,int fronIndex):从fromIndex位置开始获取字符串str在字符串中出现的位置,返回值类型为int。

       以上四种方法是indexOf的4个重载函数,当要获取的字符或者字符串不存在时返回-1。同理对于lastIndexOf也有四种方式与这四种方法相对应,只是lastIndexOf是从字符串末尾开始查找,用于字符串较长的情况。

      2、判断:(1)contains(String str):判断字符串中是否包含某个子串,返回值类型为boolean,也可以通过indexOf(String str)的方式判断,若存在返回位置,没有返回-1。

                      (2)isEmpty():判断字符串是否有内容,是1.6版本推出的新方法,原理是判断length()是否为0,返回值类型为boolean。

                      (3)startsWith(String str):判断字符串是否以指定内容内容开头,返回值类型为boolean。

                      (4)endsWith(String str):判断字符串是否以指定内容结尾,返回值类型为boolean。

                      (5)equals(Object obj):String类复写了object中的equals方法,该方法用于判断字符串是否相同,返回值类型为boolean。

                      (6)equalsIgnoreCase(String str):判断字符串内容是否相同,忽略大小写,返回值类型为boolean。

      3、转换:(1)将字符数组转成字符串:构造函数:String(char[]),String(char[],int from,int length),静态方法:copyValueOf(char[]),copyValueOf(char[],int from,int length)

                      (2)将字符串转成字符数组:toCharArray()

                      (3)将字节数组转成字符串::构造函数:String(byte[]),String(byte[],int from,int length)

                      (4)将字符串转成字节数组:getBytes()

                      (5)将基本数据类型转成字符串:静态方法:valueOf(基本数据类型)

                      (6)将字符串转成大写或者小写:toUpperCase():将字符串转成大写      toLowerCase():将字符串转成小写

       注:字符串和字节数组的转换可以指定编码表。

       4、替换:replace(oldChar,newChar):将字符串中原有的oldChar全部替换,如果没有oldChar,返回原串

        5、切割:split(regex):根据指定的内容对字符串进行切割,得到String[]。

        6、子串:substring(int fromIndex) substring(int fromIndex,int endIndex):获取子串,包含头不包含尾。

        7、去掉空格:trim():去掉字符串两端的空格,返回String。

       8、compareTo(String str):对两个字符串进行自然顺写的比较。

二、字符串缓冲区

        1、字符串缓冲区是一个容器,它的长度是可变的,可以直接操作多种数据类型,并最终通过toString方法转成字符串。

        2、存储:(1)append():append方法可以把除了byte、short(int中包含了这两种类型的所有数值)之外的基本数据类型作为参数添加到缓冲区中,并在原有数据的结尾进行延长。

                       (2) insert(int index,数据):将数据插入到指定的位置,该位置之后的角标顺延。

       3、删除:delete(int start,int  end):删除从start到end的数据,遵循包含头不包含尾的原则。

                       deleteCharAt(int index):删除指定位置的数据。

        4、获取:获取的方法和字符串的方法大致相同,在这里不做具体的介绍,可以参阅字符串方法查阅AP1文档获得。

        5、修改:(1)replace(int start,intend,String  str):用给定的字符串替换从start到end之间的数据。

                        (2)setCharAt(int index, char ch):用给定的ch替换对应的index角标的数据。

        6、反转:reverse():将字符串缓冲区中的内容反转。

     

你可能感兴趣的:(java,string,StringBuffer)