java-se-字符串类型

StringBuilder:可变字符串类型
    (字符串:底层是字符数组,及其对数组的操作)
    特点:
        (1)final修饰的类型
        (2)没有重写equals方法,重写了toString方法
        (3)此类型提供的大多数方法都带有返回值,即 return this  返回同一个地址
    构造器:
        StringBuilder()     构造了一个空的StringBuilder对象,初始容量为16
        StringBuilder(String sr)     创件一个自定字符串的StringBuilder对象
    常用方法:
        int length()        返回有效字符的长度
        StringBuilder append(Type a)        将参数a追加到StringBuilder对象里,返回此对象        
        StringBuilder insert(int index,Type a)        将参数a插入到对象的下标index处    
        StringBuilder delete(int start, int end)    删除此对象里的部分字符,从start开始到end结束    包前不包后
        StringBuilder replace(int start, int end, String str)    使用str替换此对象从start开始到end结束的子串
        StringBuilder reverse()        将StringBuilder对象内容进行翻转

StringBuffer:此类与StringBuilder用法相同
    线程安全:
        StringBuffer线程安全
        StringBuilder线程安全
    执行效率:
        StringBuffer效率低
        StringBuilder效率高
String:
    (底层是字符数组+对数组的操作)
    特点:
        (1)是不可变得字符串类型(对象的内容不能更改)
        (2)final修饰的类型
        (3)字符索引(下标/index)从0开始
        (4)重写了equals和toString方法
        (5)默认使用unicode字符集,任意字符都占2字节
    构造器:
        String()        创建一个空字符序列的字符串对象
        String(byte[] bs)        创建一个字符串对象,使用平台默认字符集进行解码的字符串
        String(byte[] vs,String charset)        将字节数组使用指定字符集解码成相应的字符串对象
        String(char[] ch)        将字符数组转换成字符串对象
        String(String str)        指定一个字符串字面量,创建一个字符串对象
    常用方法:
        返回字符串中字符个数的方法:
            int length():        返回字符串对象的字符个数
        返回指定位置处字符的方法:
            char charAt(int index):        返回字符序列中指定索引处的字符
        拼接字符串的方法:
            String concat(String another)        将指定字符串another拼接到此字符序列的末尾,返回新对象
        查看字符序列是否按规定字符开头/结尾的方法:
            boolean startsWith(String prefix)    查看此字符序列是否以prefix开头
            boolean endsWith(String suffix)        查看此字符序列是否以suffix结尾
        将字符串编码的方法:
            byte[] getbytes()        将此字符串按照平台默认字符集编码成字节序列,返回一个新的字节数组
            byte[] getBytes(String charset)    将此字符串按照指定的字符集编码成字节序列,返回新的字节数组
        查找字符串中的字符/子字符串的位置
            int indexOf(int ch)                            返回字符ch在此字符串中第一次出现的位置,返回-1,说明字符不在查找序列中
            int intdexOf(int ch,int fromIndex)            返回字符ch从fromIndex开始,在此字符串中第一次出现的位置,返回-1,说明字符不在查找序列中
            int indexOf(String str)                        返回字符串str在此字符串中第一次出现的位置,返回-1,说明字符不在查找序列中
            int indexOf(String str,int fromIndex)        返回字符串str从fromIndex开始,在此字符串中第一次出现的位置,返回-1,说明字符不在查找序列中
            int lastIndexOf(int ch)                        返回字符ch在此字符串中最后一次出现的位置,返回-1,说明字符不在查找序列中
            int lastIndexOf(int ch,int endIndex)        返回字符ch截止到endIndex,在此字符串中最后一次出现的位置,返回-1,说明字符不在查找序列中
            int lastIndexOf(String str)                    返回字符串str在此字符串中最后一次出现的位置,返回-1,说明字符不在查找序列中
            int lastIndexOf(String str,int endIndex)    返回字符串str截止到endIndex,在此字符串中最后一次出现的位置,返回-1,说明字符不在查找序列中
        截取子字符串的方法:
            String substring(int beginIndex)                从此字符序列的beginIndex开始截取,截取到最后
            String substring(int beginIndex,int endIndex)    从此字符序列的beginIndex开始截取,截取到endIndex,包前不包后
        字符串转成字符数组的方法:
            char[] toCharArray()        将此字符序列变成字符数组
        字符串中的字母大小写转换:
            String toUpperCase()        将字符串中的字母都变成大写,返回新字符串
            String toLowerCase()        将字符串中的字母都变成小写,返回新字符串
        前后去掉空格的方法:
            String trim()        去掉此字符序列的前后空格
        将任意参数变成字符串对象的方法:
            static String valueOf(Type v)        将参数v变成字符串对象
        equals()与==的区别:
            ==:用来比较是不是同一个对象
            equals():用来比较两个对象的内容是否相同
    常量池:
        概念:jvm在使用字符串类型时,为了提高内存的使用率,当使用字面量(常量)给变量赋值时,在方法区内提供了一个用于存储字面量对象的一个常量池
        原理:当使用字面量赋值时,先去方法区内的常量池中查询是否有相同字面量的对象,如果有,就返回常量池中对象的地址,如果没有,在常量池中创建此字面量的对象再返回
        
        
        
        
        
        
        
        
        
        
        

猜你喜欢

转载自blog.csdn.net/qq_38741415/article/details/81634832