Java String深度解析:创建、长度与比较

需积分: 9 3 下载量 34 浏览量 更新于2024-11-25 收藏 8KB TXT 举报
"Java 中关于字符串的笔记,详尽涵盖了字符串的基本操作,包括创建、长度、开头和结尾检查以及比较方法。" 在 Java 编程语言中,`String` 类是不可变的,这意味着一旦创建了一个 `String` 对象,就不能改变它的值。下面将深入探讨 Java 字符串相关的知识点: 1. 创建字符串对象: - 使用字面量:`String s = "good";` 这种方式创建的字符串会存储在常量池中。 - 使用 `new` 关键字:`String s = new String("wearestudents!");` 这种方式会创建一个新对象,并将字符串存储在堆内存中。 2. 字符串对象的复制与赋值: - `Strings1 = s;` 这是引用复制,Strings1 和 s 指向同一个字符串对象。 - `Strings1 = new String(s1);` 这是创建新对象,Strings1 是 s1 的副本,但它们各自独立。 3. 构造函数: - `String(char[] a)`:根据字符数组创建字符串,如 `char[] a = {'a', 'b', 'c'}; String a = new String(a);` - `String(char[] a, int start, int end)`:截取字符数组的一部分来创建字符串,例如 `char[] a = {'s', 't', 'b', 'u', 's', 'n'}; String s = new String(a, 2, 4);`,这将创建字符串 "busn"。 4. 获取字符串长度: `String s = "goodmoring!"; System.out.println(s.length());` 会输出字符串的字符个数,不包含结束的空字符。 5. 判断字符串开头和结尾: - `startWith(String prefix)`:检查字符串是否以指定的前缀开始,如 `String tom = "22042423"; tom.startsWith("220");` 返回 `true`。 - `endsWith(String suffix)`:检查字符串是否以指定的后缀结束,如 `String tom = "22042423"; tom.endsWith("423");` 返回 `true`。 6. 字符串比较: - `equals(String anotherString)`:比较两个字符串的内容是否相同,区分大小写,如 `String tom = "wearestudents"; tom.equals("Wearestudents");` 返回 `false`。 - `equalsIgnoreCase(String anotherString)`:忽略大小写比较,如 `String tom = "wearestudents"; tom.equalsIgnoreCase("Wearestudents");` 返回 `true`。 7. 字符串不变性: 字符串的不可变性意味着对字符串进行任何修改操作(如 `substring()`、`concat()` 或 `replace()`)都会返回一个新的字符串对象,而原始字符串保持不变。 8. 字符串操作方法: - `charAt(int index)`:获取字符串中指定位置的字符。 - `indexOf(String str)` 和 `lastIndexOf(String str)`:查找子字符串第一次出现和最后一次出现的位置。 - `substring(int beginIndex, int endIndex)`:提取字符串的一部分。 - `trim()`:去除字符串两端的空白字符。 - `toLowerCase()` 和 `toUpperCase()`:转换字符串为全小写或全大写。 - `split(String regex)`:根据正则表达式分割字符串。 理解并熟练运用这些基本的字符串操作是 Java 开发中的重要技能。通过练习和应用,你可以更好地掌握这些知识点,并解决实际编程问题。