Java基础 第十章 字符串 笔记
Java 第十章 字符串
一、声明字符串的方法:
String s="您好";
String s=new String("您好");
二、字符串的长度:
字符串.length();
三、equlas 比较的是值 一般用于字符串的比较
==比较的是地址 一般用于数字(int 数据类型)的比较
四、equalsIgnoreCase() 比较时忽略大小写
toLowerCase() 转换成小写,例:name.toLowerCase();
toUpperCase()转换成大写, 例:name.toUpperCase();
五、 \转义符
六、拼接字符串用“+”或"concat()方法,当原字符串是有效字符串时,在其后拼接新的字符串时,会创建副本。
例如:String str="您好";str=str+"北京";
String str=new String("您好");String newStr=str.concat("北京");
特点:“+”和concat()方法,会造成内存浪费,性能比较差,但是线程安全。
七、index (参数);获取字符或字符串的下标
indexOf (int ch); 例如:str.indexOf('你');
indecOf( String s); 例如:str.index(".java");
八、 lastIndexOf(参数);获取最后一个字符或字符串的下标
lastIndexOf(int ch); 例如:str.lastIndexOf('你');
lastIndexOf(String s); 例如:str.lastIndexOf('.java');
九、subString (参数);截取字符串
subString (int index); 下标从0开始数,从index 开始截取到最后结束
subString (int beginIndex,int endIndex);下标从0开始数,
从beginIndex开始,包括beginIndex位置
到endIndex结束, 不包括endIndex位置
十、trim()方法 去字符串前后空格
十一、split()方法 分割字符串 返回数组
例如:String st="长亭外-古道边-芳草碧连天-晚风扶-柳笛声残-夕阳山外山";
String[] wod =st.split("-");
for (int i = 0; i < wod.length; i++) {
System.out.println(wod[i]);
}
十二、StringBuffer类 频繁拼接字符串时使用
例如:StringBuffer sbuf=new StringBuffer("你");
subuf.append("好吗?");
subuf.insert(1,"们");
String str=sbuf.toString();
System.out.println(str);
特点:在自身追加字符串,不会产生副本,所以节省内存,性能高,线程安全。
if (操作的数据较少){
String
}else{
if(多线程){
StringBuffer
}else{
StringBuilder
}
}
String、StringBuffer、StringBuilder 三者区别:
1.原理:String 频繁拼接时产生大量对象(副本),
StringBuffer 和StringBuilder都是在当前对象上操作,所以不会产生大量
2.性能:String <StringBuffer<StringBuild
3.线程:String 、StringBuffer 线程安全
StringBuilder 非线程安全
总结:if (操作的数据较少){
String
}else{
if(多线程){
StringBuffer
}else{
StringBuilder
}
}