字符串工具类
1.字符串的常用函数
String str = … ;
(1) 字符串:默认为常量—>常量池
- String val = “xxx” ;默认进入常量池;
- String val =new String(“xxx”); 默认进堆,但可以通过intern()方法强制入池;
- 常量池是为了提升字符串的处理效率;
- 拼接字符串“+”,
(2) 获取字符串中的字符:char c = str.charAt(n); n 为 0~str.length-1;
String str = "string";
char c = str.charAt(2);
System.out.println(c);
//输出结果为 r
(3) 将字符串转化为字符数组:char[] cs = str.toCharArray();
String str = "string";
char[] cs = str.toCharArray();
for (char c : cs) {
System.out.print(c+"\t");
}
//输出结果为 s t r i n g
(4) 获取字符串中某子字符串的下标:
① int index = str.indexOf(String sub) 获取子字符串的首个字符下标;
② int index = str.indexOf(String sub,int fromIndex) 从某位置(包含在内)开始查找子字符串的首个字符的下标;
③ int lastIx = str.lastIndexOf(String sub) 获取子字符串的最后出现的时候首字符下标;
④ int lastIx = str.lastIndexOf(String sub, int fromIndex) 从某位置(包含在内)开始反向查找子字符串的最后出现的时候的首字符的下标(下标还是原字符串中的下标);
String str = "string";
int index = str.indexOf("ring");
System.out.println(index);
//输出结果为子字符串‘ring’的首个字符的下标 2
int index = str.indexOf("ting");
System.out.println(index);
//如果(例如:‘ting’)不是原字符串的子字符串,则返回 -1
String str = "string.hello";
int index = str.indexOf("ell",1);
System.out.println(index);
//输出结果为 7, 如果不是它的子字符串,则返回 -1
String str = "string.hello";
int lastIx = str.lastIndexOf("l");
System.out.println(index);
//输出结果为 10, 如果不是它的子字符串,则返回 -1
String str = "string.hello";
int lastIx = str.lastIndexOf("l",10);
System.out.println(index);
//输出结果为 10 , 如果不是它的子字符串,则返回 -1
(5) 截取字符串
① String sub = str.subString(int fromIndex) 从fromIndex开始截取字符串;
String str = "string.hello";
String sub = str.substring(7);
System.out.println(sub);
//输出结果为:hello
② String sub = str.subString(int fromIndex,int endIndex) 截取从fromIndex到endIndex之间的字符串;(前包后不包)
String str = "string.hello";
String sub = str.substring(2,6);
System.out.println(sub);
// 输出结果为 ring
2 字符串类型(符合其他类型特征)转化为其他类型 String str = … ;
(1) int val = Integer.parseInt(str); 将字符串转化为整数;
String str = “123456”
int val = Integer.parseInt(str);
System.out.println(val)
输出结果为 123456
(2) double val = Double.parseDouble(str); 将字符串转化为小数;
String str = “123456
double val = Doubole.parseDoubole(str);
System.out.println(val)
输出结果为 123456.0
(3) boolean val = Boolean.parseBoolean(str); 将字符串转化为布尔值类型;