Java数据结构---String(字符串)
1. String简介
String,字符串,由若干字符组成的数据结构。最简单的定义方法有:
String s = "apple";
2. String常用操作
- 返回字符串长度
s.length();
- 返回指定索引处的 char 值
s.charAt(i); // 索引i从0开始
- 连接字符串
str = "hello"
s.concat(str); // 得到的值就为 "applehello"
- 返回指定字符在此字符串中第一次出现处的索引
s.indexOf('p'); // 返回 1
- 返回一个新的字符串,它用 newChar 替换此字符串中出现的所有 oldChar
s.replace('p','a'); // 即用'a'替换所有的'p',得到的字符串为 'aaale'
- 将此字符串转换为一个新的字符数组
s.toCharArray();
- 判断字符串是否为空
s.isEmpty()
- 剪裁字符串(左闭右开)
s.substring(int beginIndex,int endIndex)
如apple从索引1开始,索引3结尾剪裁得到字符串 ‘pp’
s.substring(1,3) // 得到pp
- 迭代遍历字符串(重要)
for(char c : s.toCharArray()){
// 操作
}
- 字符转换为int
如果想将a-z的字符转换为0-25的整数型数据,则直接用’a’~'z’的字符减去’a’即可。 如 ‘b’ - ‘a’ = 1。
但是需要注意的是:‘A’ - ‘a’ = -32;
这是因为a的ascii码值为97,A的ascii码值为65
for(char c : s.toCharArray()){
int n = c - 'a';
}
- 整型转换为字符串
int x = 121;
String s = Integer.toString(x);
3. String.valueOf()
String.valueOf(Object o)
可以将其他数据类型转换为String类型
4. StringBuffer 和 StringBuilder 类
StringBuilder和StringBuffer是可变的字符序列。
但是StringBuffer是线程安全的,但是效率较StringBulider低;
StringBulider的效率更高,但是它是线程不安全的。
以上StringBuffer 和 StringBuilder 类的图来自于菜鸟教程。