一、注意
1、字符串是引用数据类型
2、字符串不可更改
二、字符串创建
1、直接赋值,最常用
String s1 = "Hello World";
2、创建一个空字符串
1String str4 = new String(); 2System.out.println(str4);
3、通过字符数组创建
1char[] charArray = {'a', 'b', 'c'}; 2String str2 = new String(charArray); 3System.out.println(str2);
4、通过字节数组创建
1byte[] byteArray = {97, 98, 99}; 2String str3 = new String(byteArray); 3System.out.println(str3);
三、字符串比较方法
注意:
a、在引用数据类型中 == 比较的是内存地址
b、equals() 方法若有 常量, 常量写在前面
1、比较字符串的值
1package cn.wt.day08; 2 3public class Demon02equal { 4 public static void main(String[] args) { 5 String str1 = "abc"; 6 char[] charArray = {'a', 'b', 'c'}; 7 String str2 = new String(charArray); 8 System.out.println(str1.equals(str2)); 9 System.out.println("abc".equals(str2)); 10 } 11}
2、忽略大小写
1String str3 = "ABC123"; 2String str4 = "aBc123"; 3System.out.println(str3.equalsIgnoreCase(str4));
四、字符串获取方法
1、字符串长度
1String str1 = "Hello World"; 2System.out.println(str1.length());
2、某个index的字符
1String str1 = "Hello World"; 2char thisChar = str1.charAt(2); 3System.out.println(thisChar);
3、某个字符串第一次出现的index
1String str1 = "Hello llWorld"; 2int thisIndex = str1.indexOf("ll"); 3System.out.println(thisIndex); 4// 不存在, 返回值为 -1 和 python一样 5System.out.println(str1.indexOf("gh"));
4、连接字符串
1String str2 = "Hello llWorld"; 2String str3 = "how are you?"; 3String concatStr = str2.concat(str3); 4System.out.println(concatStr);
注意:连接字符串一般使用 "+" 号
五、字符串截取方法
1、只有beginIndex,截取该索引后面的所有值
1String str1 = "how are you?"; 2String subStr1 = str1.substring(3); 3System.out.println(subStr1);
2、beginIndex endIndex 顾头不顾尾
1String str2 = "how are you?"; 2String subStr2 = str2.substring(3, 9); 3System.out.println(subStr2);
六、字符串转换方法
1、变成char Array toCahrArray()
1package cn.wt.day08; 2 3public class Demon05Tran { 4 public static void main(String[] args) { 5 String str1 = "How are you?"; 6 char[] charsStr = str1.toCharArray(); 7 for (int i = 0; i < charsStr.length; i++) { 8 System.out.println(charsStr[i]); 9 } 10 } 11}
2、变成byte Array getBytes()
1String str2 = "How are you?"; 2byte[] bytesStr = str2.getBytes(); 3for (int i = 0; i < bytesStr.length; i++) { 4 System.out.println(bytesStr[i]); 5}
3、替换
作用:舆情系统检测,屏蔽敏感字
1String str3 = "习大大搞个人崇拜"; 2String str4 = str3.replace("习大大", "***"); 3System.out.println(str4);
我靠本来只是开个玩笑,没想到习某某正是敏感词汇(思想越过越回去了)
七、字符串分割方法
注意:字符串切割后->String[]
1String str1 = "a,b,c,d"; 2String[] splitArray = str1.split(","); 3for (int i = 0; i < splitArray.length; i++) { 4 System.out.println(splitArray[i]); 5}