字符串可以使用toCharArray()方法变成一个字符数组,也可以使用String类的构造方法把一个字符数组变为一个字符串。
class StringAPIDemo01{
public static void main(String[] args) {
String str1 = "hello";
char c[] = str1.toCharArray();
for (int i = 0; i < c.length; i++) {
System.out.print(c[i] + " ");
}
System.out.println();
String str2 = new String(c);
String str3 = new String(c,0,3); //将部分字符数组变为String
System.out.println(str2);
System.out.println(str3);
}
}
运行结果:
h e l l o
hello
hel
可以直接使用String类中的charAt()取出字符串指定位置的字符:
class StringAPIDemo02{
public static void main(String[] args) {
String str1 = "hello";
System.out.println(str1.charAt(0));
}
}
运行结果:
h
class StringAPIDemo03{
public static void main(String[] args) {
String str1 = "hello";
byte b[] = str1.getBytes();
String str2 = new String(b);
String str3 = new String(b,0,3); //将部分字符数组变为String
System.out.println(str2);
System.out.println(str3);
}
}
运行结果:
hello
hel
在String中使用length()方法取得字符串的长度:
class StringAPIDemo04{
public static void main(String[] args) {
String str = "hello";
System.out.println(str.length());
}
}
运行结果:
5
注意:数组有length属性String有length()方法。
在String中有indexOf()方法,可以返回指定的字符串的位置,如果不存则返回-1:
class StringAPIDemo05{
public static void main(String[] args) {
String str = "hello kity";
System.out.println(str.indexOf("e"));
System.out.println(str.indexOf("l", 4)); //指定位置,从下标4的位置开始
}
}
运行结果:
1
-1
在实际的系统的开发中,用户输入的数据中可能含有大量的空格,使用trim()方法即可去掉字符串左、右空格。
class StringAPIDemo06{
public static void main(String[] args) {
String str = " hello kity ";
System.out.println(str.trim()); //指定位置,从下标4的位置开始
}
}
运行结果:
hello kity
在String中提供了两个substring()方法,一个是从指定位置截取字符串结尾,另一个是截取指定范围的内容。
class StringAPIDemo07{
public static void main(String[] args) {
String str = "hello kity";
System.out.println(str.substring(5));
System.out.println(str.substring(0,5));
}
}
运行结果:
kity
hello
在String中通过split()方法可以进行字符串的拆分操作,拆分的数据将以字符串数组的形式放回。
class StringAPIDemo08{
public static void main(String[] args) {
String str = "hello kity";
String s[] = str.split(" ");
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
}
}
运行结果:
hello
kity
在用户输入信息时,有时需要统一输入数据的大小写,此时就可以使用toUpperCase()和toLowerCase()两个方法完成大小写的转换操作。
class StringAPIDemo09{
public static void main(String[] args) {
System.out.println("HELLO".toLowerCase());
System.out.println("hello".toUpperCase());
}
}
运行结果:
hello
HELLO
在String中使用startsWith()方法可以判断字符串是否以指定的内容开头,使用endsWith()方法可以判断字符串是否以指定的内容结尾。
class StringAPIDemo10{
public static void main(String[] args) {
String str1 = "**hell";
String str2 = "hell**";
System.out.println(str1.startsWith("**"));
System.out.println(str2.endsWith("**"));
}
}
运行结果:
true
true
在String中可以通过equals()方法进行字符串内容的比较,但是这种比较方法是区分大小写的比较,如果要完成不区分大小写的比较则可以使用equalsIgnoreCase()方法。
class StringAPIDemo11{
public static void main(String[] args) {
String str1 = "HELLO";
String str2 = "hello";
System.out.println(str1.equals(str2));
System.out.println(str1.equalsIgnoreCase(str2));
}
}
运行结果:
false
true
使用String的replaceAll()方法可以将字符串的指定内容进行替换
class StringAPIDemo12{
public static void main(String[] args) {
String str1 = "Hello World";
System.out.println(str1.replaceAll("World", "Kity"));
}
}
运行结果:
Hello Kity