"Java语言中常用的访问字符串对象的方法主要集中在`String`类中,这个类提供了丰富的成员方法来获取和处理字符串信息。`String`类是`java.lang.Object`的子类,它代表不可变的字符序列,一旦创建就不能修改。而`StringBuffer`类作为可变的字符串对象,适合在需要频繁修改字符串内容的情况下使用。
在`String`类中,`length()`方法用于返回字符串的长度,例如`int len = s1.length();`将获取`s1`的长度。`charAt(int index)`方法则用来获取指定下标的字符,如`char c1 = s1.charAt(4);`将获取`s1`中下标为4的字符(注意,字符串中的下标是从0开始的)。
字符串类主要包括`String`和`StringBuffer`两个重要的类。`String`类创建的对象是字符串常量,其内容在创建后不能更改。而`StringBuffer`类则提供了动态修改字符串内容的功能,避免了频繁操作时生成大量新的对象,提高了性能。在需要进行大量字符串拼接或操作时,推荐使用`StringBuffer`。
创建`String`对象的方式有很多种。可以直接通过空构造方法创建空字符串,或者传入一个字符数组、字节数组,或者另一个`String`对象。例如:
```java
String str1 = new String(); // 空字符串
String str2 = new String(value); // 从字符数组创建
String str3 = new String(ascii, 2, 3); // 从字节数组的指定部分创建
StringBuffer strBuf = new StringBuffer("abcdef");
String str4 = new String(strBuf); // 从StringBuffer转换而来
```
除了上述方法,还可以通过字节数组的字节形式创建`String`对象,这在处理包含非ASCII字符的数据时尤其有用。
此外,`String`类还提供了其他常用方法,例如:
- `substring(int beginIndex, int endIndex)`:截取字符串的一部分,从beginIndex开始到endIndex结束但不包括endIndex。
- `toUpperCase()`/`toLowerCase()`:将字符串转换为大写或小写。
- `indexOf(String str)`/`lastIndexOf(String str)`:查找子字符串首次出现或最后一次出现的索引。
- `replace(char oldChar, char newChar)`:替换所有oldChar为newChar。
- `split(String regex)`:根据正则表达式分割字符串,返回一个字符串数组。
`StringBuffer`类也有一系列与之类似的方法,如`append()`用于添加字符或字符串,`delete()`/`insert()`用于删除或插入内容,以及`toString()`将其内容转换为`String`对象。
理解和熟练运用`String`和`StringBuffer`类的方法对于Java编程至关重要,它们是处理文本数据的核心工具。在实际开发中,根据需求选择合适的方法可以有效提高代码的效率和质量。"