内容较多,写一起主要是以后翻阅方便
基本格式不再重复写,主要是介绍每个方法。
1.取出指定索引的字符
返回值 char
String str = “hello”;
// 取出指定索引的字符
char c = str.charAt(0); //’0’即为索引值
System.out.println(c);
2.字符串与String转换
返回值 char[]
String str = “hello”;
char data [] = str.toCharArray();
for( int x=0 ; x < data.length ; x++){
System.out.print(data[x]);
}
System.out.println();
返回值 String
char [] data = {…….};
String str = new String(data);
手动字符数组大写:
String str = “hello”;
char data [] = str.toCharArray();
for( int x=0 ; x < data.length ; x++){
data[x] -= 32 ;
}
System.out.println(new String(data));
System.out.println(new String(data,1,2)); //从索引‘1’开始,2个长度,大写输出
3.比较
1)返回值 boolean
String stra = “hello”;
String strb = “hEllo”;
//区分大小写
System.out.println(stra.equals(strb));
//不区分大小写
System.out.println(stra.equalsIgnoreCase(strb));
2)返回值 int
String stra = “hello”;
String strb = “hEllo”;
System.out.println(stra.compareTo(strb));
//等于0,为相等
//大于0.为a > b
//小于0,为a < b
//注意,该比较是根据ASC码值,字母的大写ASC值比小写要小
//如:返回-32,就是这个这两个字母之间,相差32位,即后者是前者的小写
4.查找
1)返回值 int
String str = “hello world”;
//返回的是 索引值
System.out.println(str.indexOf(“world”));
System.out.println(str.indexOf(“l”,5));//从第五个开始查找’l’
System.out.println(str.lastIndexOf(“l”));//从后面开始查找’l’
System.out.println(str.indexOf(“aaa”)); //查询不到就会返回 -1
2)返回值 boolean
//返回的是 boolean
System.out.println(str.contains(“world”));
5.开头结尾判断
返回值 boolean
String str = “hello world”;
//开头与结尾 判断
String data = “##%%123**”;
System.out.println(data.startsWith(“##”));
System.out.println(data.startsWith(“%%”,2));//空两个长度
System.out.println(data.endsWith(“**”));
6.替换
返回值 String
String str = "hello world";
//替换
System.out.println(str.replaceAll("l","%"));//全换
System.out.println(str.replaceFirst(“l”,"%"));//替换首个
7.截取
返回值 String
String str = “hello world “;
//截取,不能从负数开始
System.out.println(str.substring(3));//从索引处到末尾
System.out.println(str.substring(0,5));//从startIndex开始,到endIndex,不包括endIndex
8.拆分
返回值 String[]
1)全部拆分
String str = “hello world “;
//全部拆分
String res [] = str.split(” “);//空格拆分
for(int x=0 ; x < res.length ; x++){
System.out.println(res[x]);
}
ps.若就两个双引号拆分(“”不是null),则会单个字符拆分
2)部分拆分
String str = “hello world ni hao”;
//部分拆分
String res [] = str.split(” “,3);// 3 决定了拆分后数组的数量,如此例,只会被分为3个数组
for(int x=0 ; x < res.length ; x++){
System.out.println(res[x]);
}
ps.如果有一些敏感字符(正则表达式),拆分时,可以尝试”\”来转义
9.连接
返回值 String
String str = “hello world “;
//连接
String data = str.concat(“ni hao”);
System.out.println(data);
10.大小写
返回值 String
String str = “hello WORLD “;
//大小写
System.out.println(str.toUpperCase());//输出大写
System.out.println(str.toLowerCase());//输出小写
11.去空格
返回值 String
String str = “hello WORLD “;
//去空格,后面加半个括号是为了清楚看到是否还有空格
System.out.println(str+”)”);//没去空格
System.out.println(str.trim()+”)”);//去空格
12,取长度
返回值 int
String str = “hello”;
System.out.println(str.length());
13.判断空
返回值 boolean
String str = “hello “;
//判断空
System.out.println(str.isEmpty());
14.入对象池
匿名实例化会自动如对象池
手工入池:
String str = new String(“new”).intern();