問題描述
請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),將一個(gè)字符串中的空格替換成“%20”挎狸。例如断楷,當(dāng)字符串為We Are Happy.則經(jīng)過替換之后的字符串為We%20Are%20Happy。
思路:
- 三者在執(zhí)行速度方面的比較:StringBuilder > StringBuffer > String
- String:字符串常量恐锣,沒有append()方法舞痰;
StringBuffer:字符串變量;
StringBuilder:字符串變量响牛; - StringBuilder與 StringBuffer
StringBuilder:線程非安全的
StringBuffer:線程安全的
java實(shí)現(xiàn):
①
public class Solution {
public String replaceSpace(StringBuffer str) {
String str1 = str.toString();
StringBuffer str2 = new StringBuffer();
for(int i = 0; i < str1.length(); i ++){
char ch = str1.charAt(i);
if(String.valueOf(ch).equals(" ")){
str2.append("%20");
}
else{
str2.append(ch);
}
}
return str2.toString();
}
}
②
public class Solution {
public String replaceSpace(StringBuffer str) {
String str1=str.toString();
str1=str1.replaceAll(" ", "%20");
return str1 ;
}
}