字符串
1.1,声明:
String s
String:字符串类型; s:字符串变量名
1.2,创建:
方法1:
String(char a[])
用一个字符数组a创建String对象:
char a[] = {'h','e','l','l','o'};
String s = new String(a);
String s1 = new String("hello");
//s和s1是一样的
方法2:
String(char a[], int offset, int length)
提取字符数组a中的一部分创建一个字符串对象,offset表示起始位置,length表示长度。
char a[] = {'h','e','l','l','o'};
String s = new String(a, 2, 2);
String s1 = new String("ll");
//s和s1是一样的
方法3:
String(char[] value)
分配一个新的String对象,使其表示字符数组参数中所有元素连接的结果。
char a[] = {'h','e','l','l','o'};
String s = new String(a);
String s1 = new String("hello");
//s和s1是一样的
方法4:
引用字符串常量
String s1, s2;
s1 = "hello";
s2 = "world";
1.3,连接多个字符串
使用”+“可以连接多个字符串,并产生一个String对象。
1.4,连接其他数据类型
会将其他类型数据转化为字符串
1.5,获取字符串长度
//获取字符串s的长度
s.length();
1.6,字符串查找
indexOf(String s):
返回字符串s在指定字符串中首次出现的位置。从头开始查找,没有找到会返回-1。
//查找字符a在str中首次出现的位置
int idx = str.indexOf("a");
lastIndexOf(String s):
返回字符串s在指定字符串中最后一次出现的位置。从头开始查找,没有找到会返回-1。如果s为空,会返回指定字符串的长度
//查找字符a在str中首次出现的位置
int idx = str.lastIndexOf("a");
1.7,获取指定索引位置的字符
//获取str中索引位置为index的字符
char c = str.charAt(int index);
1.8,获取子字符串
substring(int beginIndex):
返回从beginIndex开始截取到字符串结尾的子串
//获取str从下标为3开始,到字符串结尾的子串
String subStr = str.substring(3);
substring(int beginIndex, int endIndex):
返回从beginIndex开始截取到endIndex的子串
//获取str从下标为3开始,到5结尾的子串
String subStr = str.substring(3, 5);
1.9,去除空格
trim()方法返回字符串的副本,忽略前导空格和尾部空格
str.trim()
1.10,字符串替换
replace()方法可实现指定的字符或字符串替换成新的字符或字符串
将str中的所有oldChar替换成newChar:
str.replace(char oldChar, char newChar)
1.11,判断字符串的开始和结尾
startsWith():
判断str字符串的前缀是否为prefix
str.startsWith(String prefix)
endsWith():
判断str字符串是否以suffix结束
str.endsWith(String suffix)
1.12,判断字符串是否相等
不能使用”==“来判断,因为它比较的是字符串的地址
equals():
比较str和str1是否相等(区分大小写,即要完全相同)
str.equals(String str1)
equalsIgnoreCase():
比较str和str1是否相等(不区分大小写)
str.equalsIgnoreCase(String str1)
1.13,按字典顺序比较两个字符串
比较str和str1的字典顺序
如果str位于str1之前,返回负数;如果str位于str1之后,返回整数,如果相等,返回0
str.compareTo(String str1)
即str - str1
1.14,字母大小写转换
toLowerCase():
将str转为小写
str.toLowerCase()
toUpperCase():
将str转为大写
str.toUpperCase()
1.15,字符串分割
split(String sign):
以sign为分隔符将str分割
str.split(String sign)
split(String sign, int limit):
以sign为分隔符将str分割,分割次数为limit
str.split(String sign, int limit)
1.16,StringBuilder类中的方法
append(content)
content:要追加到字符串生成器中的内容
insert(int offset arg)
offset:字符串生成器的位置,即下标
arg:插入的内容
delete(int start, int end)
start:要删除的起点位置
end:要删除的终点位置