String -- StringBuffer -- Stringbuilder

String类的学习
1、String = “abc”
    字符串缓存区 常量池
    池中没有就建立,池中有不建立
2、使用new创建 String str = new String("abc") 
   堆当中创建,产生两个对象。
   一个new一个字符串对象在堆内存中
   字符串是否相同比较的是内容不是地址

二、String 的构造方法演示
1、new String() 与 “” 等效
2、将数组转换字符串:String(byte[] byte);
3、将字符串数组转换为字符串:String(char[] char);
4、将部分变为字符串 : String(char[] char,int start,int size);
三、String的方法
1、获取
1.1、 获取字符串的长度
     int length();
1.2、根据位置获取字符
     char charAt(int index);
1.3、根据字符获取位置,第一次出现的位置
    int indexOf(int ch);
    int indexOf(int ch,int fromIndex);从指定位置开始搜索
    int indexOf(String str);
    int indexOf(String str , int gromIndex);
    
    int lastIndexOf(int ch);从后往前搜索
1.4、 获取字符串中的一部分字符串。也叫子串
    String substring(int beginIndex,int endIndex);
2、转换
2.1、将字符串变成字符串数组(字符串的切割)
    String[] split(String regex);设计正则表达式
2.2、将字符串变成字符数组
    char[] toCharArray();
2.3、将字符串转成字节数组
    byte[] getBytes();
2.4、大小写转换
    String toUpperCase();大写
    String toLowerCase();小写
2.5、替换字符串中的指定字符
    String replace(char oldChar,char newChar);
    String replace(String str1,String str2);
2.6、去掉字符串两端的空格
    String trim();
2.7、将字符串进行连接
    String concat(String str);
2.8、将基本数据类型变为字符串
    String valueOf(boolean ba);
三、字符串比较
3.1、两个字符串两个字符串是否相同
    boolean    equals(Object obj);
    boolean equalsIgnoreCase(String str);忽略大小写
3.2、字符串中是否包含目标字符串
    boolean contains(String str);
3.3、字符串是否已指定字符串开头,是否已指定字符串结尾
    boolean startsWith(String str);
    boolean endsWith(String str);
四、比较字符串
    int compareTo(String anotherString);


StringBuffer对象

特点:就是字符串缓冲区,用于存储数据的容器。
1、长度可变。
2、存不同类型的数据。
3、最终转成字符串进行使用
4、可以对字符串进行修改

既然是一个容器、应该具备什么功能呢?
1、添加
    append(data);不能放short
    insert(int addree,Object data);指定位置插入数据
2、删除
    delete(int start,int end);不包含未
    deleteCharAt(int index);删除指定位置的元素
3、查找
    char charAt(index);
    int indexOf(String);
    int lastIndextOf(String);
4、修改
    StringBuffer replace(int start,int end,String str)
    void setCharAt(int index,char ch);//修改一个字符
5、设置长度
    setLength();
6、反转
    reverse(); 
7、指定初始容量
        效率问题

 StringBuilder对象   
  线程不执行同步 
  单线程使用速度快  
  多线程不安全    
  jdk 1.5以后出现的
  与StringBuffer兼容
  区别:StringBuffer保证线程同步 多线程
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值