String
- String是一个类,专门用来存储字符串!
- String是不可变的字符串!
- 如果要更改string对象中的值,每次修改都会产生全新的对象!
- String实质是一个char类型的数组!
String构造方法
- String() 空对象
- String(byte[] bytes) --> 将byte类型数组转成字符串
- String(byte[] bytes, String charsetName) --> 设置编码格式,第二个参数:正确的编码格式(例如:GBK/UTF-8/GB2312)
- String(byte[] bytes, int offset, int length) --> 从offser索引开始,截取length长度的大小组成新的字符串
- String(char[] value) --> 将char类型的数组转成字符串
- String(char[] value, int offset, int count) --> 在char数组中,从offset索引开始,截取count大小组成新的字符串
- String(String original) --> 通过字符串创建对象
- String(StringBuffer buffer) --> 将可变字符串转成不可变字符串
- String(StringBuilder builder)
常用方法:
比较判断方法:
int compareTo(String anotherString) 根据ASCII码比较字符串anotherString和当前字符串的大小,返回结果:正数,负数,0.可查看源码仔细了解
boolean startsWith(String preflx) 判断当前字符串中是否以字符串prefl先开头
boolean endsWith(String sufflx) 判断当前字符串中是否以字符串sufflx为后缀
字符串搜索:
int indexOf(int ch) 搜索字符ch在当前字符串第一次出现的索引,没有返回-1
int indexOf(String str) 搜索字符串str在当前字符串第一次出现的索引,没有返回-1
int lastIndexOf(int ch) 搜索字符ch在当前字符串最后一次出现的索引,没有返回-1
int lastIndexOf(String str) 搜索字符串str在当前字符串最后一次出现的索引,没有返回-1
提取字符串:
char charAt(int index) 用于从指定位置提取单个字符,索引是index ,必须为非负
String substring(int index) 用于提取从index指定的位置开始的字符串
String substring(int begin , int end) 用于提取begin和end位置之间的字符串部分,不包括end这个索引
String concat(String str) 用于连接两个字符串,并且新建一个字符串对象;
String replace(char old , char new) 将调用字符串中出现的old指定的字符全部替换为new指定的字符
replaceAll(String regex , String replacement ) 用于将调用字符串中出现的 regex全部替换为 replacement
String trim() 用于返回一个前后不含任何空格的调用字符串的副本
String[] split(String regex) 以某个字符串regex对字符串进行分割,返回数组
大小写转换
String toUpperCase() 返回当前字符串全大写的形式
String toLowerCase() 返回当前字符串全小写的形式
数据格式转化
StringBuffer
- StringBuffer类用于表示可以修改的字符串;
- 使用+运算符的字符串将自动创建字符串缓冲对象;
- 在Java中一旦创建了字符串就不能直接更改,这就是字符串String的不变性;而StringBuffer类正是针对此问题而提供的字符可变序列;StringBuffer与String是同等的类,唯一区别是可以进行更改。
以下是StringBuffer类的构造方法有4种重载方式,以下是常用的几个:
常用方法
StringBuilder
- JDK1.5以后,提供了一个新的字符缓冲区:StringBuilder。
- 提供和StringBuffer相似的API ,非线程安全
区别
- String:不可变的字符串! 只要字符串不需要修改使用String!
- StringBuffer:可变字符串,多线程!保证线程安全!
- StringBuilder:可变字符串,不能保证线程安全! 在单线程使用!
- 修改的效率:StringBuilder > StringBuffer > String