黑马程序员——String类

来源:互联网 发布:asp文件管理系统源码 编辑:程序博客网 时间:2024/05/09 10:52
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

String类

一、String类的概述

     String类代表字符串。Java程序中的多有字符串字面值(如"abc")都作为此类的实例实现。
     字符串是常量。它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为String对象是不可变的,所以可以共享。
二、String中的方法
      String类适用于描述字符串事物,那么它就提供了多个方法对字符串进行操作。
      常见的字符串操作主要有:
       获取:
           1、获取字符串的长度。
             int length():
           2、根据位置获取位置上的某个字符。
             char charAt(int index);
           3、根据字符获取该字符或字符串在某字符串中第一次出现的位置, 没有找到则返回-1。
             int indexOf(int ch);  从头开始索引
             int indexOf(int ch,int fromIndex);  从fromIndex指定位置开始索引
             int indexOf(String str);  从头开始索引
             int indexOf(String str,int fromIndex);  从fromIndex指定位置开始索引
            4、根据字符获取该字符或字符串在某字符串中最后一次出现的位置,没有出现则返回-1。
             int lastIndexOf(int ch);从结尾开始索引
             int lastindexOf(int ch,int fromIndex);  从fromIndex指定位置开始索引
             int lastIndexOf(String str);从结尾始索引
             int lastindexOf(String str,int fromIndex);  从fromIndex指定位置开始索引
        判断:
             1、字符串中是否包含某一个子串。
             boolean contains(CharSequence s);
             2、字符串中是否有内容。
             boolean isEmpty();判断字符串长度是否为0。
             3、字符串是否是以指定内容开头。
             boolean startsWith(String str);从头开始判断
             boolean startsWith(String str,int tofset);从索引处开始判断
             4、字符串是否是以指定内容结尾。
             boolean endsWith(String str);从结尾开始索引
             boolean endsWith(String str,,int tofset);从指定处开始索引。
             5、判断字符串内容是否相同。
             boolean equals(String str);
             6、判断内容是否相同,并忽略大小写。
              boolean equalsIgnoreCase(String str);
         转换:
             1、将字符数组转成字符串。
             构造函数:String(char[] cr);将字符数组转为字符串
                               String(char[] cr,int offset,int count);将字符数组的一部分转为字符串
             静态方法:static String copyValueOf(char[] cr);
                               static String copyValueOf(char[] cr,int offset,int count);
                               static String ValueOf(char[] cr);
                               static String ValueOf(char[] cr,int offset,int count);
                               ValueOf还能将基本数据类型转为字符串类型。
             2、将字符串转成字符数组。
              char[] toCharArray();
             3、将字节数组转成字符串
               构造函数:String(byte[] cr);将字节数组转为字符串
                                 String(byte[] cr,int offset,int count);将字节数组的一部分转为字符串
             4、将字符串转成字节数组。
               byte[] getBytes();
               特殊:字符串和字节数组在转换过程中,是可以指定编码表的。
           替换:
               1、将字符串中的某个指定字符替换为另外一个字符。
               String replace(char oldchar,char nwechar);
               2、将字符串中的某个子串替换为另外一个字符串。
               String replace(String oldstr,char nwestr);
           切割:
               1、通过字符串中的某个字符将字符串切割为。
                String[] split(String regex);
           子串:
                1、获取字符串中的一部分。
                String substring(int beginIndex);从指定位置开始到结尾
                String substring(int beginIndex,int endIndex); 从指定位置开始到指定位置,包含头不包含尾。
            大小写转换:
                String toUppercase();转换为大写
                String toLowercase();转换为小写
            去除两端空格:
                String trim();
            自然顺序的比较
                int compareTo(String str);
                按字典顺序比较两个字符串。
三、StringBuffer
      StringBuffer是字符缓冲区,也是一个容器,可以对字符串内容进行删增,它很多方法与String相同,StringBuffer的长度是可以变化的,可以操作多个数据类型,最终会通过toString方法编程字符串。
      存储:
      StringBuffer append();将自动数据作为参照添加到已有数据的结尾处。
      void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin);将缓冲区中自动数据存储到指定字符数组中。
      插入:
      StringBuffer insert(int index,数据);可以将数据插入到指定index位置。
      删除:
      StringBuffer delete(int start,int end);删除缓冲区中的数据,包含头,不包含尾。
      StringBuffer deleteCharAt(index);删除指定位置的字符。
      修改:
      StringBuffer replace(int start,int end,String str);替换指定位置的字符串。
      void setCharAt(int index,char ch);替换自动位置的字符。
      反转:
      StringBuffer reverse();
四、StringBuilder
       在JDK1.5版本之后出现了StringBuilder,StringBuilder是Stringbuffer的简易替换,比Stringbuffer更有效率,但StringBuilder不是线程同步的,在多线程操作时有安全隐患,所以在多线程执行时建议使用Stringbuffer。
0 0