(通用之学习)String类库的那些事儿

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));//返回指定索引处的char值
//结果为 3 
用于获取字符串某个索引对应的字符,以便判断、比较。
2,codePointAt​(int index)
String s = "123456";
System.out.println(s.codePointAt(0));//返回指定索引处的字符
//结果为 49 
用于获取字符串某个索引值对应的Unicode代码点,常用于判断某个字符是否为字母或数字。
3,copyValueOf​(char[] data)
 char[] a = {'a','b'};
 System.out.println(String.copyValueOf(a));
 //结果为 ab
用于将字符数组转换成字符串,相当于 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));
//结果为 abc
用于将一定长度的字符数组转化为字符串,且遵循左闭右开的原则。
通过String类直接引用,返回一个字符串。
5,endsWith​(String suffix) & startsWith​(String prefix)
String s = "123456";
System.out.println(s.endsWith("6"));//结果是 true
System.out.println(s.startsWith("1"));//结果是 true
用于判断一个字符串是否以某个字符 结尾/开头,返回值类型为boolean。
6,equals​(Object anObject)
String s = "123456";
System.out.println(s.equals("123456"));
//结果为 true
用于比较两个字符串的内容是否相同。
7,equalsIgnoreCase​(String anotherString)
String s = "abc";
System.out.println(s.equalsIgnoreCase("ABC"));
//结果为 true
用于比较两个字符串(忽略大小写),可以用于验证码的比较。
8,indexOf​(int ch) & lastIndexOf​(int ch)
String s = "123426";
System.out.println(s.indexOf("2"));//结果为 1
System.out.println(s.lastIndexOf("2"));//结果为 4
用于返回指定字符 第一次/最后一次 出现的索引值,当没有出现时,返回-1。
9,indexOf​(String str, int fromIndex)
lastIndexOf​(int ch, int fromIndex)
String s = "12342526";
System.out.println(s.indexOf("2",3));//结果为 4
System.out.println(s.lastIndexOf("2",3));//结果为 6
用于返回,从指定索引处开始,第一次/最后一次 出现的字符的索引,没有则返回-1。
10,indexOf​(String str) & lastIndexOf​(String str)
String s = "1234236";
System.out.println(s.indexOf("23"));//结果为 1
System.out.println(s.lastIndexOf("23"));//结果为 4
用于返回子字符串 第一次/最后一次 出现的索引,没有则返回-1。
11,indexOf​(String str, int fromIndex)
lastIndexOf​(String str, int fromIndex)
String s = "12342323";
System.out.println(s.indexOf("23",3));//结果为 4
System.out.println(s.lastIndexOf("23",3));//结果为 6
用于返回,从指定索引处开始,第一次/最后一次 出现的子字符串的索引,没有则返回-1。
12,isBlank()
String s = "    ";
System.out.println(s.isBlank());
//结果为 true
如果字符串为空或只有空白符组成,则返回true,否则返回false。
13,isEmpty()
String s = "    ";
System.out.println(s.isEmpty());
//结果为 false
当且仅当字符串为空时返回true,此时字符串的长度为0。
14,length()
String s = "123456";
System.out.println(s.length());
//结果为 6
用于返回字符串的长度。
15,repeat​(int count)
String s = "123";
System.out.println(s.repeat(2));
//结果为 123123
用于将字符串重复并返回新的字符串。
16,replace​(char oldChar, char newChar)
String s = "1234";
System.out.println(s.replace('1','2'));
//结果为 2234
用于将指定字符用其他字符代替,并返回新的字符串。
17,replace​(CharSequence target, CharSequence replacement)
String s = "1234";
System.out.println(s.replace("4","456"));
//结果为 123456
用于将子字符串替换成指定字符串,并返回新的字符串。
18,startsWith​(String prefix, int toffset)
String s = "123436";
System.out.println(s.startsWith("3",4));
//结果为 true
判断从指定索引处开始,是否以该字符为前缀,是则返回true,否则返回false。
19,strip()
String s = "   123  45   ";
System.out.println(s.strip());
//结果为 123   45
返回一个删除了所有前导空格和尾随Unicode空白符的字符串。
20,stripLeading() & stripTrailing()
String s = "   123   45   ";
System.out.println(s.stripLeading());//结果为123   45   
System.out.println(s.stripTrailing());//结果为   123   45
返回一个删除了所有前导/尾随空白符的字符串。
21,substring​(int beginIndex)
String s = "123456";
System.out.println(s.substring(2));
//结果为 3456
返回一个从指定索引处开始的子字符串。
22,substring​(int beginIndex, int endIndex)
String s = "123456";
System.out.println(s.substring(2,5));
//结果为 345
返回一个在索引区间内的子字符串,区间遵循左闭右开的原则。
23,toCharArray()
String s = "123456";
char[] a = s.toCharArray();
for (int i = 0; i < a.length; i++) {
   System.out.print(a[i]);
}
//结果为 123456
用于将字符串转化为字符数组。
24,toLowerCase()
String s = "ABC";
System.out.println(s.toLowerCase());
//结果为 abc
将字符串的所有字符转换为小写。
25,toUpperCase()
String s = "abc";
System.out.println(s.toUpperCase());
//结果为 ABC
将字符串的所有字符转化为大写。
26,trim()
String s = '\u2000'+"            a  bc   ";
System.out.println(s.trim());
//结果为             a  bc
可以删除所有前导和尾随的空白字符(除了Unicode空白符),而strip()可以删除。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值