“这是我参与8月更文挑战的第6天,活动详情查看: 8月更文挑战”
这一期我们来讲String类的方法,查阅API我们发现,String类的方法有几十个,我们都需要记下来吗?当然不,都记下来我们脑袋都要炸了。我们只需要记住几个常用的方法,剩下的等到使用的时候查阅API文档就行了。下面我们就来学习一下String类中的一些经常使用的方法。
比较方法。
我们知道在Java中“==”比较的是两个对象的地址值,那如果我们想比较字符串的内容怎么办呢?
我们可以使用两个方法,分别是equals方法和compareTo方法
equals
public boolean equals(Object anObject)
将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String 对象时,结果才为 true。
参数:
anObject - 与此 String 进行比较的对象。
返回:
如果给定对象表示的 String 与此 String 相等,则返回 true;否则返回 false
compareTo
public int compareTo(String anotherString)
按字典顺序比较两个字符串。
如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个负整数。
如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数。
如果这两个字符串相等,则结果为 0;
compareTo 只在方法 equals(Object) 返回 true 时才返回 0。
参数:
anotherString - 要比较的 String。
返回:
如果参数字符串等于此字符串,则返回值 0;
如果此字符串按字典顺序小于字符串参数,则返回一个小于 0 的值;
如果此字符串按字典顺序大于字符串参数,则返回一个大于 0 的值。
这两个方法都可用来比较字符串是否相等,需要区别的就是两个方法的返回值,equals返回值是布尔类型,compareTo返回的是int类型。
字符串的获取相关的方法
获得字符串指定的下标的字符
charAt
public char charAt(int index)
返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。序列的第一个 char 值位于索引 0 处,第二个位于索引 1 处,依此类推,这类似于数组索引。
参数:
index - char 值的索引。
返回:
此字符串指定索引处的 char 值。第一个 char 值位于索引 0 处。
抛出:
IndexOutOfBoundsException - 如果 index 参数为负或小于此字符串的长度。
获取字符串的长度
length
public int length()
返回此字符串的长度。
返回:
此对象表示的字符序列的长度。
拼接字符串
我们知道可以使用+号来给字符串加上更多的字符,而Java也提供了专门拼接字符串的方法。
concat
public String concat(String str)将指定字符串连接到此字符串的结尾。
参数:
str - 连接到此 String 结尾的 String。
返回:
一个字符串,它表示在此对象字符后连接字符串参数字符而成的字符。
该方法返回的是一个字符串,在调用该方法的字符串后面加上传入的字符串参数。
获取指定字符在字符串中的索引
indexOf
public int indexOf(int ch)返回指定字符在此字符串中第一次出现处的索引。
参数:
ch - 一个字符。
返回:
在此对象表示的字符序列中第一次出现该字符的索引;如果未出现该字符,则返回 -1。
---
indexOf
public int indexOf(int ch, int fromIndex)返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
参数:
ch - 一个字符。
fromIndex - 开始搜索的索引。
返回:
在此对象表示的字符序列中第一次出现的大于或等于 fromIndex 的字符的索引;如果未出现该字符,则返回 -1。
这个方法就是indexOf,indexOf可以是一个参数也可以是两个参数,根据具体需要要选择。需要注意的是,该方法返回的是第一次找到该字符的索引,没有找到返回-1。 对于其中的参数,可以传入的是一个字符串,如果字符串存在,返回的是字符串第一个字符的索引,不存在返回-1.
以上就是字符串比较和获取相关的一些方法,如有错误,欢迎掘友们指正。下期,我们来学习String类的更多的一些方法。