小知识,大挑战!本文正在参与“程序员必备小知识”创作活动
查看源码可知,String底层是用final修饰的,而值得存储时用字符数组存储得
- charAt方法 返回指定索引处的字符值。索引范围从0到length()
1 | scss复制代码public char charAt(int index) { |
- getChars 将该字符串中的字符复制到目标字符数组中。
1 | arduino复制代码public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin) { |
- equals 另一篇文章有 如有需要可以点击
- compareTo 按字典顺序比较两个字符串 如果String对象按字典顺序排在参数String之前,则结果为负整数。如果String对象按字典顺序跟随参数String,则结果为正整数。如果两个字符串相等,则结果为零;当equals(Object)方法返回true时,compareTo恰好返回0
1 | ini复制代码public int compareTo(String anotherString) { |
- hashcode 返回此字符串的哈希码
1 | ini复制代码public int hashCode() { |
- indexOf 返回该字符串中指定字符第一次出现的索引,并从指定索引处开始搜索。
1 | arduino复制代码public int indexOf(int ch, int fromIndex) { |
- lastIndexOf 返回该字符串中指定字符最后一次出现的索引
1 | arduino复制代码public int lastIndexOf(int ch, int fromIndex) { |
- substring
1 | arduino复制代码public String substring(int beginIndex) { |
- concat 将指定的字符串连接到该字符串的末尾
1 | ini复制代码public String concat(String str) { |
- replace 返回一个字符串,将该字符串中出现的所有oldChar替换为newChar
1 | ini复制代码public String replace(char oldChar, char newChar) { |
- contains 当且仅当该字符串包含指定的字符值序列时返回true
1 | typescript复制代码public boolean contains(CharSequence s) { |
- trim 返回值为此字符串的字符串,删除前导和尾随空格。
1 | ini复制代码public String trim() { |
- toUpperCase(); toLowerCase() ;字符串大小写的转换
在读String源码得过程中,有许多重载方法(方法名相同,但参数列表不同),我上面分享了一些常用的方法以及部分的源码,其实看这些源码,发现和我们平常的代码差不多,只是他们的封装更好哇,我们多读读源码 对我们写代码也会有许多的启发和帮助 就例如上面每个方法,基本都会先对传入的参数进行验证,传入的数是否合法,若不合法直接抛出异常。(之前文章也分享过如何自己自定义异常如何抛出异常 若有兴趣可以去查看
本文转载自: 掘金