首页 > 代码库 > 常用类(二) StringBuffer Integer

常用类(二) StringBuffer Integer

一、StringBuffer(线程安全的可变字符序列)
 1、构造方法
  public StringBuffer()  //构建一个字符串缓冲区,默认初始容量为16;
  public StringBuffer(int capacity)  //构建一个指定容量为 int capacity的字符串缓冲区;
  public StringBuffer(String str)  //构建一个带有字符串String str的字符串缓冲区,容量为str + 16;
   获取的方法:
    public int length():获取字符串长度
    public int capacity():获取字符串缓冲区的容量大小
   注:1)在StringBuffer中添加字符串的时候 它的容量一只在扩大,并不是容量是多少就只能放入多少个字符;
    2)默认的如果都是由英文或者数字组成的字符串,其容量永远比字符串长度大16;
    3)创建对象时候不能直接把一个字符串,或者String类型的值赋给StringBuffer。
     egg: 错误写法: String s = "hello" ;
          StringBuffer sb = s ;
          StringBuffer sb = "hello" ;
       正确写法: StringBuffer sb = new StringBuffer("hello");
 2、常用方法
  添加功能
  public StringBuffer append(String str)
  public StringBuffer insert(int offset,String str) //在指定int offset位置 添加字符串String str
  删除功能
  public StringBuffer deleteCharAt(int index)  //删除 int index位置的字符
  public StringBuffer delete(int start,int end) //删除从 int start开始 到 int end结束的字符串(包左不包右);
  替换功能
  public StringBuffer replace(int start,int end,String str) //从int start开始 int end结束这段字符串 用String str替换;
  反转功能 
  public StringBuffer reverse() //翻转当前字符串 返回的依旧是StringBuffer类型
  截取功能
  public String substring(int start)  //从 int start开始 截取后半段字符串,返回String类型
  public String substring(int start,int end)
 3、String与StringBuffer相互转换
  1)String转换StringBuffer
   方式一:通过StringBuffer的构造方法
    StringBuffer sb = new StringBuffer("String");
   方式二:使用append()方法添加字符串
    创建一个空的StringBuffer的对象使用append()添加字符串
    StringBuffer sb =new StringBuffer();
    sb.append("String");
  2)StringBuffer转换String
   方式一:通过String的构造方法
    String s = new String(StringBuffer sb);
   方式二:通过StringBuffer的toString()方法,返回的是一个String类型的字符串
    String s = new StringBuffer("String").toString;
   方式三:通过StringBuffer的截取功能
    String s = new StringBuffer("String").substring(0);
 4、StringBuffer的安全性和可变性
  1)安全性(与多线程有关)
   StringBuilder(可变字符序列):与String功能构造方法,成员方法完全相同
   相对于StringBuffer StringBuilder线程不安全,不同步,效率高
        StringBuffer:线程安全,同步,效率低,用在多线程中使用
  2)可变性(相对于String不可变)
   形式参数的问题
    String类型作为形式参数和基本数据类型是一样的
    StringBuffer作为形式参数不一样
   egg: 

技术分享二、Integer(int基本数据类型的包装类)
 1、包装类: byte--------->Byte
    short------->Short
    int--------->Integer
    long-------->Long
    float------->Float
    double------>Double
    boolean----->Boolean
    char-------->character
 2、Integer的构造方法及成员方法概述: 
  Integer(int value)
          构造一个Integer 对象,它表示指定的 int 值。
  Integer(String s)
          构造一个Integer 对象,它表示 String 参数所指示的 int 值。
   String类型的值必须使用数字,数字类型的字符串
   否则会报 NumberFormatException:数字格式化异常!
  其方法主要是对整数进行的一系列操作,如十进制与 二、八、十六进制的转换等等
 3、int与String的相互转换
  1)int转换String
   方式一:通过字符串拼接
    int i = 10;
    String s = "" + i;
   方式二:通过Integer的toString()方法
    Integer i = new Integer(10);
    String s = i.toString();
    //toString被static修饰
    String s = Integer.toString(10) ;
  2)String转换int
   方式一:通过Integer的构造方法
    Integer i = new Integer("10");
   方式二:通过Inetger的parseInt()方法
    int i = Integer.parseInt("10") ;
  
  
  

常用类(二) StringBuffer Integer