您的位置:首页 > 职场人生

黑马程序员--java String类

2013-04-27 07:25 253 查看
        ------ android培训  java培训、期待与您交流! ----------

一、String类创建对象

    1.双引号创建对象

        使用双引号创建字符串对象,首先会在缓冲区里查找,如果没有就会创建一个新的对象,如果有就直接引用。

    2.构造函数创建对象
        使用构造函数创建字符串对象,每次都会创建一个新的对象



    

二、字符串相加    

    1.字符串相加的原理

        任何类型的数据和字符串相加都会得到字符串, 基本数据类型字面值直接拼接, 引用数据类型会把toString()返回值和字符串进行拼接

        字符串相加内部是使用StringBuilder类的append()方法来实现的, 相加之后会得到一个新的字符串

    2.注意

        如果以String s = "a" + "bc";这种形式来写, 编译后直接改为String s = "abc";不会进行字符串相加

    

    

三、String类的构造方法

    1.字节数组

        String(byte[])            使用默认码表将字节数组解码为字符

        String(byte[], String)    使用指定码表将字节数组解码为字符

        String(byte[], int, int, String)    使用指定码表将字节数组中一部分字节解码为字符

    2.字符数组

        String(char[])                把字符数组转为字符串

        String(char[], int, int)    把字符数组中的一部分转为字符串

    1.字符串相加的原理

        任何类型的数据和字符串相加都会得到字符串, 基本数据类型字面值直接拼接, 引用数据类型会把toString()返回值和字符串进行拼接

        字符串相加内部是使用StringBuilder类的append()方法来实现的, 相加之后会得到一个新的字符串

    2.注意

        如果以String s = "a" + "bc";这种形式来写, 编译后直接改为String s = "abc";不会进行字符串相加

   





四、String类常用的方法

    compareTo();        //获取比较两个字符串的值

   indexOf()            //获取索引的位置

   substring()            //获取子字符串   注:开始索引的位置包括,结束索引的位置不包括

   charAt()            //获取指定索引的字符

   length()            //获取字符串的长度

   equals()            //判断两个字符串是否相等

   startsWith()         //判断字符串以什么开始

   endsWith()            //判断字符串以什么结尾

   getBytes()            //转化为字节数组    

   toCharArray()        //转化为字符数组

   toLowerCase()        //转化为小写

   toUpperCase()        //转化为大写

   valueOf()            //转化为字符串

   matches()            //正则表达式的匹配

   replace()            //正则表达式的替换

   split()            //正则表达式的分割













五、StringBuilder类的方法

    StringBuilder类的常用方法:

      append(string);                    //添加

     inset(int, String);                //插入

     delete(int, int);                //删除

     repalce(int, int , String);            //替换

      reverse();                    //反转

    


六、String类、StringBuilder类、StringBuffer类的区别

    String类的特点:是常量,不可改变的。

    StringBuilder和StringBuffer类的特点:是可变的子符序列,其对象内容是可以改变的。

    StringBuffer类: 同步的, 线程安全, 但效率略低(jdk1.0开始使用)

    StringBuilder类: 不同步, 效率高. 单线程的程序使用这个类更好. (jdk1.5开始使用)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息