码迷,mamicode.com
首页 > 其他好文 > 详细

第六章 String

时间:2015-11-13 06:42:18      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:字符串

6 String


6.1、String的特点

    String s="abc";s是类类型变量,“abc”是一个对象

    字符串一旦被初始化就不可以被改变

    String s1=new String("abc");

    s和s1有什么区别:

    s在内存中有一个对象,s1在内存中有两个对象


6.2 常用方法

1、获取

    int length();获取长度

    char charAt(int index);根据位置,获取该位置上的字符

    int indexOf(int ch);根据ch字符获取该字符在字符串中第一次出现的位置

    int indexOf(int ch,int formIndex);从formIndex指定位置开始,获取ch字符在字符串出现的位置

    int indexOf(String s);根据s获取在字符串中第一次出现的位置

    int indexOf(String s,int formIndex);从formIndex指定位置开始,获取s在字符串出现的位置

    当访问到字符串中不存在的角标时会发生StringIndexOutOfBoundsException

    如果没有找到,返回-1

    int lasetIndexOf();从字符串最后位置反向查找位置,用法同IndexOf相同。

2、判断

    boolean startWith(String str);字符串是否以str开头

    boolean endsWith(String str);字符串是否以str结尾

    boolean isEmpty();字符串是否为空

    boolean contains(String str);字符串是否包含str

    boolean equals(String str);判断字符串内容是否相同

    boolean equalsIgnoreCase(String str);忽略大小写判断字符串是否相同

3、转换

    字符数组转成字符串:

    构造函数:String(char[])

                    String(char[],offset,count)将字符数组中的一部分转成字符串

    静态方法:static String copyValueOf(char[] data);

                    static String copyValueOf(char[] data,int offset,int count);                

    字节数组转成字符串:

    构造函数:String(byte[])

                    String(byte[],offset,count)将字符数组中的一部分转成字符串    

    基本数据类转成字符串:

        static String valueOf(int);

        static String valueOf(double);

    字符串转成字符数组/字节数组:

        char[] toCharArray();

        byte[] getBytes();

4、替换

    String replace(oldchar,newchar);

    如果要替换的字符不存在,返回的还是原来的字符串

    String replace(oldstr,newstr);替换字符串

5、切割

    String[] split(regex);

6、子串

    String substring(begin);

    String substring(begin,end);包含头,不包含尾

    获取字符串中的一部分

7、转换

    String toUpperCase();String toLowerCase();字符串转成大写或小写

    String trim();去除字符串两端的空格

    int compareTo(String);对两个字符串进行自然顺序的比较


6.3 StringBuffer

    StringBuffer是一个容器,长度可变,可以对字符串内容进行修改

1、增删插

    StringBuffer append();将制定数据作为参数添加到已有数据的结尾处

    StringBuffer insert(index,data);可以将数据添加到指定位置

    StringBuffer delete(int start,int end);删除数据,包含start不包含end

    StringBuffer deleteCharAt(int index);删除指定位置的字符

  

2、获取字符串的位置:

    int indexOf(String s);

    int lastIndexOf(String s);

    int length();获取长度


3、定位

    char charAt(int index);获取指定位置的字符:

    StringBuffer replace(int start,int end,String s);从开始位置到结束位置,替换成s

    void setCharAt(int index,char ch);设置指定位置的字符


4、JDK 1.5版本之后出现了StringBuilder

    StringBuffer是线程同步

    StringBuilder是线程不同步


6.4 基本数据类型对象包装类

    基本数据    包装类

    byte            Byte

    short           Short

    long            Long

    int               Integer

    boolean      Boolean

    float            Float

    double        Double

    char            Character


1、最常见作用:

    基本数据类型和字符串之间的转换

2、 基本数据类型转成字符串

    基本数据类型+"";

    包装类.toString(基本数据类型值);

    如:Integer.toString(36);//将36变成“36”

3、字符串转成基本数据类型

    static 包装类.parse基本数据类型(String s);

    对象.基本数据类型Value();


6.5 十进制和其它进制互转

1、十进制转成其它进制

    toBinaryString();转二进制

    toHexString();转八进制

    toOctalString();转十六进制


2、其它进制转成十进制

    parseInt(String,radix);


6.6 新特性

    Integer x = 4;自动装箱,4相当于new Integer(4)

    x = x +2;自动拆箱,将x变成int类型进行运算后,在进行装箱赋给x


    Integer m = 128;

    Integer n = 128;

    m==n;//结果位false

    Integer a = 127;

    Integer b = 127;

    a==b;//结果为true,因为a和b指向了同一个Integer对象。当数值爱byte范围内,如果该数值已经存在,则不会再开辟新空间。



本文出自 “java基础” 博客,请务必保留此出处http://8163413.blog.51cto.com/8153413/1712323

第六章 String

标签:字符串

原文地址:http://8163413.blog.51cto.com/8153413/1712323

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!