String
类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写。
1.4.1 系列1:常用方法
(1)boolean isEmpty():字符串是否为空 (2)int length():返回字符串的长度 (3)String concat(xx):拼接 (4)boolean equals(Object obj):比较字符串是否相等,区分大小写 (5)boolean equalsIgnoreCase(Object obj):比较字符串是否相等,不区分大小写 (6)int compareTo(String other):比较字符串大小,区分大小写,按照Unicode编码值比较大小 (7)int compareToIgnoreCase(String other):比较字符串大小,不区分大小写 (8)String toLowerCase():将字符串中大写字母转为小写 (9)String toUpperCase():将字符串中小写字母转为大写 (10)String trim():去掉字符串前后空白符 (11)public String intern():结果在常量池中共享
@Test
public void test01(){
//将用户输入的单词全部转为小写,如果用户没有输入单词,重新输入
Scanner input = new Scanner(System.in);
String word;
while(true){
System.out.print("请输入单词:");
word = input.nextLine();
if(word.trim().length()!=0){
word = word.toLowerCase();
break;
}
}
System.out.println(word);
}
@Test
public void test02(){
//随机生成验证码,验证码由0-9,A-Z,a-z的字符组成
char[] array = new char[26*2+10];
for (int i = 0; i < 10; i++) {
array[i] = (char)('0' + i);
}
for (int i = 10,j=0; i < 10+26; i++,j++) {
array[i] = (char)('A' + j);
}
for (int i = 10+26,j=0; i < array.length; i++,j++) {
array[i] = (char)('a' + j);
}
String code = "";
Random rand = new Random();
for (int i = 0; i < 4; i++) {
code += array[rand.nextInt(array.length)];
}
System.out.println("验证码:" + code);
//将用户输入的单词全部转为小写,如果用户没有输入单词,重新输入
Scanner input = new Scanner(System.in);
System.out.print("请输入验证码:");
String inputCode = input.nextLine();
if(!code.equalsIgnoreCase(inputCode)){
System.out.println("验证码输入不正确");
}
}
系列2:查找
(11)boolean contains(xx):是否包含xx (12)int indexOf(xx):从前往后找当前字符串中xx,即如果有返回第一次出现的下标,要是没有返回-1 (13)int indexOf(String str, int fromIndex):返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始 (14)int lastIndexOf(xx):从后往前找当前字符串中xx,即如果有返回最后一次出现的下标,要是没有返回-1 (15)int lastIndexOf(String str, int fromIndex):返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
系列3:字符串截取
(16)String substring(int beginIndex) :返回一个新的字符串,它是此字符串的从beginIndex开始截取到最后的一个子字符串。 (17)String substring(int beginIndex, int endIndex) :返回一个新字符串,它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。
系列4:和字符/字符数组相关
(18)char charAt(index):返回[index]位置的字符 (19)char[] toCharArray(): 将此字符串转换为一个新的字符数组返回 (20)static String valueOf(char[] data) :返回指定数组中表示该字符序列的 String (21)static String valueOf(char[] data, int offset, int count) : 返回指定数组中表示该字符序列的 String (22)static String copyValueOf(char[] data): 返回指定数组中表示该字符序列的 String (23)static String copyValueOf(char[] data, int offset, int count):返回指定数组中表示该字符序列的 String
系列5:开头与结尾
(24)boolean startsWith(xx):测试此字符串是否以指定的前缀开始 (25)boolean startsWith(String prefix, int toffset):测试此字符串从指定索引开始的子字符串是否以指定前缀开始 (26)boolean endsWith(xx):测试此字符串是否以指定的后缀结束
系列6:替换
(27)String replace(char oldChar, char newChar):返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 不支持正则。 (28)String replace(CharSequence target, CharSequence replacement):使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。 (29)String replaceAll(String regex, String replacement):使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 (30)String replaceFirst(String regex, String replacement):使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。