一:String 类的创建
- 直接赋值
String str1 = "Hello, World!";
- 使用 new 关键字创建:
String str2 = new String("Hello, World!");
- 字符串拼接创建,任何数据类型和字符串拼接后都是字符串类型
String str = "abc" + 1 + "999";
- 注意:空对象null 和 " "
- null是空对象,不能调用任何方法
- “ ”是字符串,只不过内容为空
二:String常用方法
- length():返回字符串的长度(字符个数)
String str = "Hello";
int length = str.length();
// 结果:length 为 5
- charAt(int index):返回指定索引处的字符。
String str = "Hello";
char c = str.charAt(0);
// 结果:c 为 'H'
- substring(int beginIndex, int endIndex):返回一个新的字符串,它是此字符串的一个子字符串。
String str = "Hello";
String sub = str.substring(1, 4);
// 结果:sub 为 "ell"
- concat(String str):将指定字符串连接到此字符串的结尾。
String str = "Hello";
String concatStr = str.concat(" Java");
// 拼接结果:concatStr 为 "Hello Java"
- indexOf(int ch) 和 indexOf(String str):返回指定字符或子字符串在此字符串中第一次出现处的索引。
String str = "Hello";
int index = str.indexOf('o');
// 结果:index 为 4
int index2 = str.indexOf("llo");
// 结果:index2 为 2
- lastIndexOf(int ch) 和 lastIndexOf(String str):返回指定字符或子字符串在此字符串中最后一次出现处的索引。
- startsWith(String prefix) 和 endsWith(String suffix):测试此字符串是否以指定的前缀或后缀开始或结束。
- replace(CharSequence target, CharSequence replacement):替换字符串中的字符或子字符串。
- trim():返回字符串的副本,忽略前导空白和尾部空白。
- toUpperCase() 和 toLowerCase():将字符串中的所有字符转换为大写或小写。
- split(String regex):根据给定的正则表达式的匹配拆分此字符串。
三:字符串比较
equals()方法用于比较两个字符串的内容是否相同
String str1 = "Hello";
String str2 = new String("Hello");
boolean isEqual = str1.equals(str2);
// true,因为内容相同
注意:不要使用==来比较字符串的内容,因为它比较的是引用是否相同,而不是内容是否相同