
String 详解 / 常用API
简介
String 是不可改变的字符串序列。String 为字符串常量
StringBuilder 与StringBuffer 均为可改变的字符串序列。为字符串变量
StringBuilder 是非线程安全的 (JDK 1.5)
StringBuffer 是线程安全的 (JDK 1.0)
总结:
String : 适用于少量的字符串操作的情况
StringBuilder : 适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer : 适用于多线程下载字符缓冲区进行大量操作的情况
String API 详解
判断
判断内容是否相同
-
boolean
equals() 对字符串进行判断,是否内容相同 -
boolean
equalsIgnoreCase() 对字符串进行判断,忽略大小写
-
判断字符串是否以某个字符开头或结尾
获取
长度
-
int
length() 获取字符串的长度
-
角标
-
int
indexOf() 获取开始时的索引
-
示例:
// 定义字符串,
String str1 = "1-2-3-QWE";
/**
* indexOf(int ch) 获取字符第一次出现的索引
* 打印结果 : 1
*/
System.out.println(str1.indexOf("-")); /**
* indexOf(int ch, int fromIndex)
* 获取字符第一次出现的索引,从指定索引开始搜索
* 打印结果 : 3
*/
System.out.println(str1.indexOf("-", 2)); /**
* indexOf(String str, int fromIndex)
* 获取str3字符串str1字符串中的索引
* 打印结果 : 6
*/
String str3 = "QW";
System.out.println(str1.indexOf(str3, 0));
indexOf
获取字符串指定索引的字符
-
char
charAt(int index) 返回字符串指定索引的值
-
其他类型换成字符串
- String
- String
示例:
// 定义变量i
int i = 123;
// 返回整数类型的字符串格式。即把整型转换成字符串格式
System.out.println(String.valueOf(i));
valueOf
去空格
-
String
trim()
去除字符串两端空格
-
String
示例:
// 定义字符串,两端带空格
String str1 = " 123qwe ";
// 调用trim 去除字符串两端空格
// 打印结果 : 123qwe
System.out.println(str1.trim());
trim
截取字符串
-
subString(
int beginIndex
)
根据规则,截取字符串
-
示例:
// 定义字符串,两端带空格
String str1 = "1-2-3-QWE";
/**
* String substring(int beginIndex)
* 截取字符串,截取从索引开始之后的字符串
* (包含索引)
* 打印结果 : 2-3-QWE
*/
System.out.println(str1.substring(2)); /**
* String substring(int beginIndex, int endIndex)
* 截取字符串,截取从索引开始到后一个索引的字符串
* (包含前索引,不包含后索引)
* 打印结果 : 2-
*/
System.out.println(str1.substring(2, 4));
subString
拆分字符串
示例:
// 定义字符串,两端带空格
String str1 = "1-2-3-QWE";
/**
* split(String regex) 根据指定规则拆分字符串
* 打印结果 : [1, 2, 3, QWE]
*/
String[] str = str1.split("-");
System.out.println(Arrays.toString(str));
/**
* split(String regex, int limit)
* 根据指定规则,将字符串拆分成几个字符串
* 打印结果 : [1, 2, 3-QWE]
*/
String[] split = str1.split("-", 3);
System.out.println(Arrays.toString(split));
split
替换字符串中的字符
- String
char oldChar, char newChar
) 根据规则,替换字符
- String
示例:
// 定义字符串,两端带空格
String str1 = "1-2-3-QWE";
/**
* replace(char oldChar, char newChar)
* 根据指定规则,替换字符串中的字符。
* 打印结果 :1*2*3*QWE
*/
System.out.println(str1.replace("-", "*"));
replace
转换
将字符串转换成数组
-
char[]
toCharArray()
将字符串转换成一个新的字符数组
-
示例:
// 定义字符串,两端带空格
String str1 = " 123QWE ";
// 调用toCharArray() 将字符串中的字符,转换成大写
System.out.println(str1.trim().toCharArray());
toCharArray
字符串的大小写转换
-
toUpperCase()
将字符串所有字符转换成大写
-
示例:
// 定义字符串,两端带空格
String str1 = " 123qwe ";
// 调用toUpperCase 将字符串中的字符,转换成大写
System.out.println(str1.toUpperCase());
toUpperCase
- String
toLowerCase()
将字符串中的所有字符转换成小写
- String
示例:
// 定义字符串,两端带空格
String str1 = " 123QWE ";
// 调用toLowerCase() 将字符串中的字符,转换成大写
System.out.println(str1.toLowerCase());
toLowerCase