* String类适用于描述字符串事物;
那么它就提供了多个方法对字符串进行操作;
常见的操作有哪些?
"abcd"
1. 获取;
1.1 字符串中包含的字符数, 也就是字符串的长度;
int length(); 获取长度;
1.2 根据位置获取位置上的某个字符;
char charAt(int index);
1.3 根据字符获取该字符在字符串中的位置;
int indexOf(int ch); 返回的是ch在字符串中第一次出现的位置;
int indexOf(int ch, int fromIndex); 从formIndex位置开始,获取ch在字符串中首次出现的
int indexOf(String str); 返回的是str在字符串中第一次出现的位置;
int indexOf(String str, int fromIndex); 从formIndex位置开始,获取str在字符串中首次出
实际上还有lastindexOf(), 和以上四个一一对应, 只不过是反向搜索;
2. 判断;
2.1 字符串中是否包含了某一个子串;
boolean contains(str);
2.2 字符串中是否有内容;
boolean isEmpty(); 原理就是判断长度是否为零;
2.3 字符串是否以指定内容开头;
boolean startsWith(str);
2.4 字符串是否以指定内容结尾;
boolean endsWith(str);
2.5 判断字符串内容是否相同, 复写了Object类中的equals方法;
boolean equals(str);
2.6 判断字符串内容是否相同, 忽略大小写;
boolean equalsIgnoreCase(str);
3. 转换
3.1 将字符数组转换成字符串
构造函数: String(char[]):
String(char[], offset, count);将字符数组的一部分转换成字符串;
静态方法:
static String copyValueOf(char[]);
static String copyValueOf(char[], int offset, int count);
static String valueOf(char[]);
3.2 将字符串转换成字符数组
char[] toCharArray();
3.3 将字节数组转换成字符串
String(byte[]);
String(byte[], offset, count); 将字节数组的一部分转换成字符串;
3.4 将字符串转换成字节数组
byte[] getBytes()
3.5 将基本数据类型转换成字符串
Static String valueOf(int);
Static String valueOf(double);
特殊: 字符串和字节数组在转换过程中, 是可以指定编码表的;
4. 替换
4.1 将字符串中所有的oldchar替换成newchar;
String replace(char oldchar, char newchar);
4.2 将字符串中所有的指定序列替换成指定序列;
String replace(CharSequence target, CharSequence replacement)
******************
需要注意的是, 以上两个方法并不是在字符串本身进行替换, 我们知道,
字符串一经初始化, 就不能再被改变了, 调用这两个方法之后, 是返回
一个String类型的数据, 也就是替换过后的目标字符串;
******************
5. 切割
5.1 给出字符串作为切割标志, 对字符串进行切割, 返回的是字符串数组;
String[] split(char ch);
6. 子串, 获取字符串中的一部分;
String substring(int begin);
String substring(int begin, int end);
7. 转换, 去除空格, 比较
7.1 将字符串转换成大写或者小写
String toUpperCase();
String toLowerCase();
7.2 将字符串两端多余的空格去除.
String trim();
7.3 对两个字符串进行自然顺序的比较
String compareTo(String str);
******************************************************************************************** |
|