一、String基本语法
1.在Java中字符串被视为对象处理,因此除了直接用字符串常量赋值创建外,还可以用类的构造方法创建。举例:
char a[] = {'g','o','o','d'};
String s1 = new String(a);
char b[] = {'g','o','o','d'};
String s2 = new String(b,1,2);
s1 指向“good”,s2 指向“oo”。
2.Java中不允许一句相连的字符串分成两行,如果要分行应该用 “+” 连接多个字符串。
3.当字符串类型通过 “+” 和其他基本类型(包括boolean型)连接时,会自动调用 toString() 方法将其他类型转换为字符串形式。
二、获取字符串信息方法
1.获取长度 str.length()
String str = "a b c";
int size = str.length();
返回值为 5 ,字符串长度包含空格。
2.查找字符串 str.indexOf("s") 和 str.lastIndexOf("s")
indexOf 方法返回参数字符串 “s” 在 “str” 中首次出现的索引位置,lastIndexOf 方法是找出 “s” 在 “str” 中最后一次出现的索引位置。找不到返回值 -1 。(String对象是用字符数组表示的,索引即字符数组的下标)
str.lastIndexOf("") 语句中的参数是空字符串,此时返回结果与str.length() 方法返回值一致。
3.获取指定索引位置的字符 str.charAt(int index)
参数为整型值,返回值为char型。
三、操作字符串方法
1.获取子字符串str.substring(int begin,int end)
str.substring(int beginIndex) 返回从指定的索引位置开始到字符串结尾的子串。substring(int beginIndex, int endIndex) 返回从某一索引位置到另一索引位置的子串。
2.去除空格 str.trim()
该方法返回字符串副本,去掉前导空格和尾部空格。
3.字符串替换 str.replace(char old,char new)
“old” 和 “new” 既可以是单字符,也可以是多字符的字符串,都要用双引号引住,如果 “old” 在原字符串中出现多次,则会全部替换,返回新字符串,如果没有出现,则返回原来字符串。该方法严格区分大小写。
4.判断开始和结尾 str.startsWith(String begin) 和 str.endsWith(String end)
判断是否以指定字符串开始或结尾,返回值为boolean类型。
5.判断字符串相同 str.equals(String s)
“==” 可以比较数值是否相等,但用在两个字符串之间比较的是它们的地址,即使两字符串内容相同,两个对象的地址也不同。要比较内容应使用 equals() 方法和 equalsIgnoreCase() 方法,equals() 比较时区分大小写,equalsIgnoreCase() 则不区分。当两字符串的字符和长度都相等才返回 true。
6.比较字符串顺序 str.compareTo(String s)
比较是基于字符串中各字符对应的 Unicode 值,如果按字典序 str 对象在 s 字符串之前,返回一个负整数;之后,返回正整数;相等,返回 0 。举例:
String str = "aa";
String str2 = "ac";
String str3 = "af";
System.out.println("ac.compareTo(aa)的值:" + str2.compareTo(str));
System.out.println("ac.compareTo(af)的值:" + str2.compareTo(str3));
结果为:
7.字母大小写转换 str. toLowerCase() 和 str.toUpperCase()
toLowerCase() 方法将字符串中所有大写字母改为小写,toUpperCase() 正好相反,这两种方法都对数字或非字符不起作用。
8.字符串分割 str.split(String sign,int limit)
split()方法按照第一个参数给定的分隔符进行分割,将分割后的结果存放在字符串数组中。如果想定义多个分割符,可使用 “ | ” 分开,如 “,|;” 表示分割符是 “,” 和 “;” 。第二个参数 “limit” 限定拆分多少次,该参数可以省略。