String类常用方法详解
总体方法一览
equals
比较两个字符串内容是否相等,这里区分大小写
public boolean equals(Object anObject)
1 |
|
equalsignoreCase
比较两个字符串内容是否相等,这里不区分大小写
public boolean equalsIgnoreCase(String anotherString)
1 |
|
length
获取字符串的长度
public int length()
1 |
|
indexOf
获取字符/字符串第一次在另一个字符串中出现的位置
有四个重载方法
public int indexOf(int ch)
查找字符在字符串中第一次出现的位置,找到返回位置索引,没有找到返回-1
public int indexOf(int ch, int fromIndex)
从fromIndex索引位置开始查找字符在字符串中第一次出现的位置,找到返回位置索引,没有找到返回-1
public int indexOf(String str)
查找字符串str在字符串中第一次出现的位置,找到返回位置索引,没有找到返回-1
public int indexOf(String str, int fromIndex)
从fromIndex索引位置开始查找字符串str在字符串中第一次出现的位置,找到返回位置索引,没有找到返回-1
1 |
|
lastIndexOf
获取字符/字符串最后一次在另一个字符串中出现的位置
有四个重载方法
public int lastIndexOf(int ch)
查找字符在字符串中最后一次出现的位置,找到返回位置索引,没有找到返回-1
public int lastIndexOf(int ch, int fromIndex)
从fromIndex索引位置开始查找字符在字符串中最后一次出现的位置,找到返回位置索引,没有找到返回-1
public int lastIndexOf(String str)
查找字符串str在字符串中最后一次出现的位置,找到返回位置索引,没有找到返回-1
public int lastIndexOf(String str, int fromIndex)
从fromIndex索引位置开始查找字符串str在字符串中最后一次出现的位置,找到返回位置索引,没有找到返回-1
1 |
|
subString
截取子串
有两种重载形式
-
public String substring(int beginIndex)
截取从beginIndex开始到最后的子串
-
public String substring(int beginIndex, int endIndex)
截取从[beginIndex,endIndex)的子串
1 |
|
trim
去除字符串左右两边的空格
public String trim()
注意:字符串中间的空格不能去除
1 |
|
charAt
获取字符串指定索引位置的字符
public char charAt(int index)
1 |
|
toUpperCase
将字符串全部转成大写
该方法有两种重载形式
public String toUpperCase()
使用默认本地化将字符串转成大写
-
public String toUpperCase(Locale locale)
指定本地化语言将字符串转成大写,不同地区的语言差异,可能导致转换大小写有差异
1 |
|
toLowerCase
将字符串全部转成小写
该方法有两种重载形式
-
public String toLowerCase()
使用默认本地化将字符串转成大写
-
public String toLowerCase(Locale locale)
指定本地化语言将字符串转成大写,不同地区的语言差异,可能导致转换大小写有差异
1 |
|
concat
拼接两个字符串,返回拼接后的字符串
public String concat(String str)
1 |
|
split
指定分隔符来分割字符串,返回分割后的字符串数组
该方法有两种重载形式
-
public String[] split(String regex)
regex指定分隔符,被尽可能多的分割,但是尾部的空字符串
""
会被抛弃 -
public String[] split(String regex, int limit)
regex指定分隔符, limit指定分割模式
limit | 效果 |
---|---|
limit > 0 | 分割limit -1次 |
limit = 0 | 被尽可能多的分割,但是尾部的空字符串会被抛弃,这个等价于没有limit参数的重载 |
limit < 0 | 被尽可能多的分割,不会抛弃空字符串"" |
默认方法
1 |
|
带limit参数
limit > 0
分割limit -1次
1 |
|
limit = 0
被尽可能多的分割,但是尾部的空字符串""
会被抛弃,这个等价于没有limit参数的重载
1 |
|
limit < 0
被尽可能多的分割,不会抛弃空字符串""
1 |
|
compareTo
比较两个字符串的字典序大小
public int compareTo(String anotherString)
1 |
|
toCharArray
将字符串转换成字符数组
public char[] toCharArray()
1 |
|
format
按照C语言的输出风格控制输出
有两种重载形式
-
public static String format(String format, Object... args)
这个是默认输出格式
-
public static String format(Locale l, String format, Object... args)
这个可以指定本地化语言风格
1 |
|
replace
可以替换字符串中的字符/字符串
该方法有两种重载形式
-
public String replace(char oldChar, char newChar)
这个方法用于替换字符
-
public String replace(CharSequence target, CharSequence replacement)
这个方法用于替换字符串
值得一提的是:CharSequence是一个接口,String、StringBuilder、StringBuffer都实现了该接口,所以这里可以传入String、StringBuilder、StringBuffer对象
1 |
|