1.借助JDK,选取几个String与StringBuffet StringBuilder的常用APl,并编写实例测试API的功能。
搜索java.String
1.indexof(查找子字符串)
package String;
import java.lang.String;
public class Stringindex {
public static void main(String[] args) {
String cqq=new String("is this good or is this bad?");
String substring=new String("is");
int index =cqq.indexOf(substring);
while(index!=-1){
System.out.println(index);
index = cqq.indexOf(substring, index + 1);
}
}
}
输出:0,5,16,21
2.使用valueOf()将数字转换为字符串
package String;
import java.lang.String;
public class tostring {
public static void main(String[] args) {
String s= String.valueOf(10);
System.out.println("intStr ="+s);
}
}
3.replace替换
package String;
public class stringreplace {
public static void main(String[] args) {
String source = "123abc";
String replaced = source.replace('a', '@');
System.out.println(replaced);
}
}
2.请简述String,StringBuffer,StringBuilder三者之间的共同点与区别,应该分别在何种场景下使用?
在需要频繁改变字符串内容时,使用StringBuffer和StringBuilder;单一线程时,优先选择StringBuilder
3.为什么不建议在for循环中使用“+”进行字符串拼接?
因为如果使用“+”进行字符串拼接,不论是String还是优化后的StringBuffer,每次进行拼接时,都会new新对象(StringBuffer s1=new StringBuffer(s).append('...'))
,所以在循环里,就会不断生成新对象,浪费资源,效率低下。
4.什么是字符串的编码与解码?请举例说明。
编码:将unicode转换为gbk
解码:把gbk转换为unicode