本次介绍的String
的方法包括:比较内容、大小写转换、前缀和后缀,并给出了一个例子。
比较字符串内容
两种形式。形式一如下:
方法定义:public boolean equals(Object o)
方法描述:比较是否与参数相同,区分大小写。
例如:
str.equals(“this”)
结果:
False
形式二如下:
方法定义:public boolean equalsIgnoreCase(Object o)
方法描述:比较是否与参数相同,不区分大写小。
例如:
str.equalsIgnoreCase(“this”)
结果:
False
大小写转换
转换成大写或者转换成小写。
转换成大写:
方法定义:public String toUpperCase()
方法描述:把字符串中的所有字符都转换成大写。
例如:
str.toUpperCase()
结果:
THIS IS A TEST!
转换成小写:
方法定义:public String toLowerCase()
方法描述:把字符串中的所有字符都转换成小写。
例如:
str.toLowerCase()
结果:
this is a test!
前缀和后缀
判断字符串是否以指定的参数开始或者结尾。
判断前缀:
方法定义:public boolean startsWith(String prefix)
方法描述:字符串是否以参数指定的子串为前缀。
例如:
str.startsWith(“this”)
结果:
true
判断后缀:
方法定义:public boolean endsWith(String suffix)
方法描述:字符串是否以参数指定的子串为后缀。
例如:
str.endsWith(“this”)
结果:
false
【例】判断一个字符串中出现另外一个字符串中出现的次数。
package ch8;
import java.io.DataInputStream;
public class StringTest {
public static void main(String args[]){
System.out.println("计算第一个字符串在第二个字符串中出现的次数。");
DataInputStream din = new DataInputStream(System.in);
try{
System.out.println("请输入第一个字符串");
String str1 = din.readLine();
System.out.println("请输入第二个字符串");
String str2 = din.readLine();
String str3 = str2.replace(str1,"");
int count = (str2.length() - str3.length())/str1.length();
System.out.println(str1+"在"+str2+"中出现的次数为:"+count);
}catch(Exception e){
System.out.println(e.toString());
}
}
}
运行结果为:
计算第一个字符串在第二个字符串中出现的次数。
请输入第一个字符串
ab
请输入第二个字符串
abcedabsdabajab
ab在abcedabsdabajab中出现的次数为:4
需要注意的是String
本身是一个常量,一旦一个字符串创建了,它的内容是不能改变的,那么如何解释下面的代码:
s1+=s2;
这里并不是把字符串s2
的内容添加到字符串s1
的后面,而是新创建了一个字符串,内容是s1
和s2
的连接,然后把s1
指向了新创建的这个字符串。如果一个字符串的内容经常需要变动,不应该使用String
,因为在变化的过程中实际上是不断创建对象的过程,这时候应该使用StringBuffer
。