参考How2j
替换空格
public class Solution {
public String replaceSpace(StringBuffer str) {
int len = str.length();
String str_1 = str.toString();
for(int i=0;i<len;i++)
{
if(str.charAt(i) == ' ')
{
str.delete(i,i+1);
str.insert(i,"%20");
len += 2;
}
}
return str.toString();
}
}StringBuffer,StringBuilder,String
字符
- 保存一个字符
char c1 = 'a';
- char对应的封装类Character
package character;
public class TestChar {
public static void main(String[] args) {
char c1 = 'a';
Character c = c1; //自动装箱
c1 = c;//自动拆箱
}
}字符串String(类)
- 创建字符串
常见创建字符串手段:- 每当有一个字面值出现的时候,虚拟机就会创建一个字符串
- 调用String的构造方法创建一个字符串对象
- 通过+加号进行字符串拼接也会创建新的字符串对象
package character;
public class TestString {
public static void main(String[] args) {
String garen ="盖伦"; //字面值,虚拟机碰到字面值就会创建一个字符串对象
String teemo = new String("提莫"); //创建了两个字符串对象
char[] cs = new char[]{'崔','斯','特'};
String hero = new String(cs);// 通过字符数组创建一个字符串对象
String hero3 = garen + teemo;// 通过+加号进行字符串拼接
}
}- String被final修饰,不可以被继承
- immutable (常量)
不可改变的具体含义是指:
不能增加长度
不能减少长度
不能插入字符
不能删除字符
不能修改字符
一旦创建好这个字符串,里面的内容 永远 不能改变 - 字符串中的操作
| 关键字 | 功能 |
|---|---|
| charAt | 获取字符 |
| toCharArray | 获取对应的字符数组 |
| subString | 截取子字符串 |
| split | 分隔 |
| trim | 去掉首尾空格 |
| toLowerCase | 小写 |
| toUpperCase | 大写 |
| indexOf | 判断字符或者子字符串第一次出现的位置 |
| lastIndexOf | 字符串最后出现的位置 |
| contains | 是否包含子字符串 |
| replaceAll | 替换所有的 |
| replaceFirst | 只替换第一个 |
- 比较字符串
- 是否是同一个对象:用==判断;
- 特例:
- 内容相同与否用equals
- startsWith //以...开始;endsWith //以...结束
字符数组、String、StringBuffer的相互转化,StringBuffer的一些方法
String,StringBuffer与StringBuilder的区别
解题中的问题
需要注意在替换的字符串的长度比原来的要长,所以会导致整个字符长度的变化.

京公网安备 11010502036488号