------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
字符串
Java 将字符串作为对象来处理。
String 位于java.lang包中。
字符串一旦被初始化,就不能再改变。
String str;声明
创建
String str="abc";引用字符串常量
String(char[] ar)
String(char[] ar value)
String(char[] ar,int offset,int length)
字符串连接
只要“+”运算符的一个操作数是字符串,编译器就会把另一个操作数也转换成字符串。
String方法:
1--有关获取
int length() 返回长度
int indexOf(String s) 返回索引 (找不到返回-1)
int lastIndexOf(String s) 返回索引 (找不到返回-1,s为""时,返回length)
char charAt(int index) 返回字符
2--有关判断
String replace(char oldChar,char newChar) 替换字符并返回新字符串 (找不到oldChar,返回原字符串)
boolean startsWith(String s) 判断是否以s开头
boolean endsWith(String s)判断是否以s结尾
boolean equals(String s)判断两串是否相等3--有关转换
构造函数String(char[] ar)
String(char[] ar,int offset,int count)
String(byte[] ar,int offset,int length)
静态方法copyValueOf(...) (参数与上面的构造函数一样)
静态方法valueOf(...) (参数有 intlongfloatdoubleboolean charchar[]char[],offset,countobject)
字符串变字符数组 toCharArray()
字符串变字节数组 getBytes()
4--有关改造字符串并返回新串
String trim() 去空格
String substring(int beginindex) 返回子串
String substring(int beginindex,int endindex) 返回子串
String replace(char a,char b)String replace(String a,String b) b把a换掉找不到a就返回原串
String toUpperCase() 返回大写化后的新字符串
String toLowerCase() 返回小写化后的新字符串
String [] split(String sign) 按sign分割成字符串数组并返回该数组(sign 匹配正则表达式)
String [] split(String sign,int limit) limit是分割后的段数(sign 匹配正则表达式)
5--比较方法
int compareTo(String s)按Unicode码顺序比较将字符串大小,结果是this的码值减去s的码值。
字符串生成器
StringBuffer 字符可变序列,不同于String通过new新对象对字符串进行改变的操作方式,StringBuffer只对自身进行增加、删除、修改等操作。因此在进行这些操作时StringBuffer比String高效。
增加
append(...) 多种重载
insert(...) 多种重载
删除
delete(int start,int end)
deleteCharAt(int index)
修改
setCharAt(int index)
获取
void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)
StringBuffer是多线程安全的,但会增加检查的工作。
JDK1.5后增加了为单线程增加了StringBuilder,它不是线程安全的,但更加快速。
建议用StringBuilder,需要时加安全锁。