JAVA字符串怎么玩出花儿?(1)-String-(总结String常用方法)-IDEA调试讲解
超常用字符串操作,收藏起来!
耐心阅读,收获满满
文末有彩蛋,GO,GO,GO
字符串在JAVA中的地位非常之重,虽然博主在本文中已将常用方法列出,但是纸上谈兵终究仍是一场空,唯有动手实践才能学到真本领。
目录
- 构造方法
- 其他方法
- 1.charAt()
- 2.compareTo(String str)
- 3.concat(String str)
- 4.contains(CharSequence s)
- 5.endsWith(String suffix)
- 6.equals(Object anObject)
- 7.format(String format, Object... args)
- 8.getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
- 9.hashCode()
- 10.indexOf(***)
- 11.isEmpty()
- 12.isBlank()
- 13.lastIndexOf(***)
- 14.length()
- 15.matches(String regex)
- 16.repeat(int count)
- 17.replace(***)
- 18.replaceAll(String regex, String replacement)
- 19.replaceFirst(String regex, String replacement)
- 20.split(String regex)
- 21.startsWith(String prefix)
- 22.strip()
- 23.substring(***)
- 24. toCharArray()
- 25. toLowerCase()
- 26.toUpperCase()
- 27.trim()
- 28.valueOf(***)
构造方法
首先,博主带大家简单过一下String类常用的构造方法。
其他方法
1.charAt()
作用:返回指定索引处的 char值
此例中,返回索引为3的char值,即为’l’
2.compareTo(String str)
作用:按字典顺序比较两个字符串
注意:其返回值是int型而非boolean型!
且结果如下表所示:
比较结果 | 返回值 |
---|---|
本字符串较小 | -1 |
本字符串较大 | 1 |
两字符串相等 | 0 |
3.concat(String str)
作用:将指定的字符串连接到此字符串的末尾,与S1=S2+str;
相同
字符串相加遵守的规律如下表所示:
方式 | 实际操作 |
---|---|
常量+常量 | JAVA虚拟机会将其进行优化,不会创建StringBuilder 对象 |
变量+常量 | 会创建 StringBuilder 对象,然后调用 append 方法 |
for循环中变量+常量 | 会被优化,即只创建一个 StringBuilder 对象,而不是相加多少次就创建多少个 |
4.contains(CharSequence s)
作用:判断此字符串是否包含指定的char值序列
结果 | 返回值 |
---|---|
是 | true |
否 | false |
5.endsWith(String suffix)
作用:测试此字符串是否以指定的后缀结尾
结果 | 返回值 |
---|---|
是 | true |
否 | false |
6.equals(Object anObject)
作用:将此字符串与指定的对象进行比较
结果 | 返回值 |
---|---|
内容相等 | true |
内容不相等 | false |
大家注意博主的测试结果,为什么会产生这种结果博主在以后的帖子中会讲到
7.format(String format, Object… args)
作用:字符串格式化
其功能十分强大,大家可以自行学习,博主后续也将会对其进行专项讲解
8.getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
作用:将此字符串中的字符复制到目标字符数组中
参数分别为:起始索引、终止索引、目标字符数组、目标字符数组中的起始地址
9.hashCode()
作用:返回此字符串的哈希码
10.indexOf(***)
作用:返回参数第一次出现的索引
参数内容与效果如下表所示:
参数类型 | 效果 |
---|---|
(int ch) | 返回指定字符第一次出现的字符串中的索引 |
(int ch, int fromIndex) | 返回指定字符第一次出现的此字符串中的索引,从指定索引处开始搜索 |
(String str) | 返回指定子字符串第一次出现的字符串中的索引 |
(String str, int fromIndex) | 从指定的索引处开始,返回指定子字符串第一次出现的字符串中的索引 |
不存在则返回 -1 ,注意 i5 的值
11.isEmpty()
作用:判断字符串长度是否为0
结果 | 返回值 |
---|---|
是 | true |
否 | false |
注意 b3 ,想想为什么??看下一个就懂了,哈哈
12.isBlank()
作用:判断字符串长度是否为空或仅包含 white space代码点
结果 | 返回值 |
---|---|
是 | true |
否 | false |
13.lastIndexOf(***)
作用:返回最后一次出现的字符串中的索引
与 10.indexOf(***) 类似,此处不再赘述。
14.length()
作用:返回此字符串的长度
15.matches(String regex)
作用:判断此字符串是否与给定的正则表达式匹配
16.repeat(int count)
作用:返回一个字符串,其值为此字符串的串联重复 count次
17.replace(***)
作用:替换内容
参数类型与效果如下表所示:
参数类型 | 效果 |
---|---|
(char oldChar, char newChar) | 返回从替换所有出现的导致一个字符串 oldChar在此字符串 newChar |
(CharSequence target, CharSequence replacement) | 将此字符串中与文字目标序列匹配的每个子字符串替换为指定的文字替换序列 |
18.replaceAll(String regex, String replacement)
作用:将给定替换的给定正则表达式匹配的此字符串的每个子字符串替换
19.replaceFirst(String regex, String replacement)
作用:将给定替换的给定正则表达式匹配的此字符串的第一个子字符串替换
20.split(String regex)
作用:将此字符串拆分为给定正则表达式的匹配项
若参数列表为: (String regex, int limit)
则只分成 limit 个元素
21.startsWith(String prefix)
作用:测试此字符串是否以指定的前缀开头
若参数列表为:(String prefix, int toffset)
则从索引为 toffset 的位置开始
22.strip()
作用:返回删除了前后 white space
的字符串
类似方法:
方法 | 作用 |
---|---|
stripLeading() | 返回一个字符串,并删除了所有前导 white space |
stripTrailing() | 返回一个字符串,并删除所有尾随 white space |
23.substring(***)
作用:返回一个字符串,该字符串是此字符串的子字符串
参数列表与功能如下表所示:
参数列表 | 功能 |
---|---|
(int beginIndex) | 返回索引为beginIndex后的字符串 |
(int beginIndex, int endIndex) | 返回索引从beginIndex到endIndex的字符串 |
24. toCharArray()
作用:将此字符串转换为新的字符数组
25. toLowerCase()
作用: 使用默认语言环境的规则将此 String所有字符转换为小写
注:toLowerCase(Locale locale)
可使用给定 Locale的规则将此 String所有字符转换为 小写
26.toUpperCase()
作用: 使用默认语言环境的规则将此 String所有字符转换为大写
注:toLowerCase(Locale locale)
可使用给定 Locale的规则将此 String所有字符转换为 大写
27.trim()
作用:返回去除了前后空格的字符串
28.valueOf(***)
作用:返回参数的字符串表示形式
注意:此方法为静态方法
如果你认认真真的看到了这里,首先,博主为你点赞,说明你是一个有耐心、敢行动的人。做技术本就不是一件易事,唯有脚踏实地,才能不断前行。
最后,博主送大家一句话:
苦心人,天不负。卧薪尝胆,三千越甲可吞吴。
有志者,事竟成。釜底抽薪,百二秦川终属楚。