Class String
String类表示字符串,Java程序中的所有字符串文字(例如"abc" )都实现为此类的实例。
字符串是不变的; 它们的值在创建后无法更改。 字符串缓冲区支持可变字符串。 因为String对象是不可变的,所以可以共享它们。
String str = "abc";
相当于定义一个字符型数组,依次存放各个字符,继而形成字符串,并用一个字符串对象存储。
char data[] = {'a', 'b', 'c'};
String str = new String(data);
String类常用于
- 检查序列的各个字符
- 比较字符串
- 搜索字符串
- 提取子字符串
- 创建具有被翻译为大写或小写的所有字符的字符串的副本
常用方法举例(按首字母排列)
1,charAt(int index)
String s = "123456";
System.out.println(s.charAt(2));
用于获取字符串某个索引对应的字符,以便判断、比较。
2,codePointAt(int index)
String s = "123456";
System.out.println(s.codePointAt(0));
用于获取字符串某个索引值对应的Unicode代码点,常用于判断某个字符是否为字母或数字。
3,copyValueOf(char[] data)
char[] a = {'a','b'};
System.out.println(String.copyValueOf(a));
用于将字符数组转换成字符串,相当于 valueOf(char[]) 。
通过String类直接引用,返回一个字符串。
4,copyValueOf(char[] data, int offset, int count)
char[] chars = {'a','b','c','d','e'};
System.out.println(String.copyValueOf(chars,0,3));
用于将一定长度的字符数组转化为字符串,且遵循左闭右开的原则。
通过String类直接引用,返回一个字符串。
5,endsWith(String suffix) & startsWith(String prefix)
String s = "123456";
System.out.println(s.endsWith("6"));
System.out.println(s.startsWith("1"));
用于判断一个字符串是否以某个字符 结尾/开头,返回值类型为boolean。
6,equals(Object anObject)
String s = "123456";
System.out.println(s.equals("123456"));
用于比较两个字符串的内容是否相同。
7,equalsIgnoreCase(String anotherString)
String s = "abc";
System.out.println(s.equalsIgnoreCase("ABC"));
用于比较两个字符串(忽略大小写),可以用于验证码的比较。
8,indexOf(int ch) & lastIndexOf(int ch)
String s = "123426";
System.out.println(s.indexOf("2"));
System.out.println(s.lastIndexOf("2"));
用于返回指定字符 第一次/最后一次 出现的索引值,当没有出现时,返回-1。
9,indexOf(String str, int fromIndex)
lastIndexOf(int ch, int fromIndex)
String s = "12342526";
System.out.println(s.indexOf("2",3));
System.out.println(s.lastIndexOf("2",3));
用于返回,从指定索引处开始,第一次/最后一次 出现的字符的索引,没有则返回-1。
10,indexOf(String str) & lastIndexOf(String str)
String s = "1234236";
System.out.println(s.indexOf("23"));
System.out.println(s.lastIndexOf("23"));
用于返回子字符串 第一次/最后一次 出现的索引,没有则返回-1。
11,indexOf(String str, int fromIndex)
lastIndexOf(String str, int fromIndex)
String s = "12342323";
System.out.println(s.indexOf("23",3));
System.out.println(s.lastIndexOf("23",3));
用于返回,从指定索引处开始,第一次/最后一次 出现的子字符串的索引,没有则返回-1。
12,isBlank()
String s = " ";
System.out.println(s.isBlank());
如果字符串为空或只有空白符组成,则返回true,否则返回false。
13,isEmpty()
String s = " ";
System.out.println(s.isEmpty());
当且仅当字符串为空时返回true,此时字符串的长度为0。
14,length()
String s = "123456";
System.out.println(s.length());
用于返回字符串的长度。
15,repeat(int count)
String s = "123";
System.out.println(s.repeat(2));
用于将字符串重复并返回新的字符串。
16,replace(char oldChar, char newChar)
String s = "1234";
System.out.println(s.replace('1','2'));
用于将指定字符用其他字符代替,并返回新的字符串。
17,replace(CharSequence target, CharSequence replacement)
String s = "1234";
System.out.println(s.replace("4","456"));
用于将子字符串替换成指定字符串,并返回新的字符串。
18,startsWith(String prefix, int toffset)
String s = "123436";
System.out.println(s.startsWith("3",4));
判断从指定索引处开始,是否以该字符为前缀,是则返回true,否则返回false。
19,strip()
String s = " 123 45 ";
System.out.println(s.strip());
返回一个删除了所有前导空格和尾随Unicode空白符的字符串。
20,stripLeading() & stripTrailing()
String s = " 123 45 ";
System.out.println(s.stripLeading());
System.out.println(s.stripTrailing());
返回一个删除了所有前导/尾随空白符的字符串。
21,substring(int beginIndex)
String s = "123456";
System.out.println(s.substring(2));
返回一个从指定索引处开始的子字符串。
22,substring(int beginIndex, int endIndex)
String s = "123456";
System.out.println(s.substring(2,5));
返回一个在索引区间内的子字符串,区间遵循左闭右开的原则。
23,toCharArray()
String s = "123456";
char[] a = s.toCharArray();
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]);
}
用于将字符串转化为字符数组。
24,toLowerCase()
String s = "ABC";
System.out.println(s.toLowerCase());
将字符串的所有字符转换为小写。
25,toUpperCase()
String s = "abc";
System.out.println(s.toUpperCase());
将字符串的所有字符转化为大写。
26,trim()
String s = '\u2000'+" a bc ";
System.out.println(s.trim());
可以删除所有前导和尾随的空白字符(除了Unicode空白符),而strip()可以删除。