完整代码1、StringBuffer类的练习 (1)StringBuffer类的添加、删除、替换、翻转、截取功能的掌握 (2 )String和StringBuilder分别作为参数传递的异同
时间: 2024-05-05 15:19:58 浏览: 54
1、StringBuffer类的练习:
(1)添加功能:
可以使用 append() 方法向 StringBuffer 对象中追加字符串,将字符串添加到原字符串的末尾,示例代码如下:
```
StringBuffer sb = new StringBuffer("Hello");
sb.append(" World");
System.out.println(sb); // 输出:Hello World
```
(2)删除功能:
可以使用 delete() 方法删除 StringBuffer 对象中的一部分字符串,示例代码如下:
```
StringBuffer sb = new StringBuffer("Hello World");
sb.delete(5, 11);
System.out.println(sb); // 输出:Hello
```
(3)替换功能:
可以使用 replace() 方法替换 StringBuffer 对象中的一部分字符串,示例代码如下:
```
StringBuffer sb = new StringBuffer("Hello World");
sb.replace(6, 11, "Java");
System.out.println(sb); // 输出:Hello Java
```
(4)翻转功能:
可以使用 reverse() 方法将 StringBuffer 对象中的字符串翻转,示例代码如下:
```
StringBuffer sb = new StringBuffer("Hello World");
sb.reverse();
System.out.println(sb); // 输出:dlroW olleH
```
(5)截取功能:
可以使用 substring() 方法获取 StringBuffer 对象中的一部分字符串,示例代码如下:
```
StringBuffer sb = new StringBuffer("Hello World");
String sub = sb.substring(6);
System.out.println(sub); // 输出:World
```
2、String 和 StringBuilder 分别作为参数传递的异同:
String 和 StringBuilder 都是字符串类型,但是它们在传递参数时的行为是有所不同的。
String 类型的参数是不可变的,即在方法内部无法修改传递进来的字符串。如果需要修改字符串,需要先将其转换为 StringBuilder 类型。
StringBuilder 类型的参数是可变的,即在方法内部可以修改传递进来的字符串。
示例代码如下:
```
public void test(String str) {
str = str + " World"; // String 类型的参数是不可变的,所以这里实际上是创建了一个新的字符串对象
System.out.println(str);
}
public void test(StringBuilder sb) {
sb.append(" World"); // StringBuilder 类型的参数是可变的,所以可以直接修改传递进来的对象
System.out.println(sb);
}
public static void main(String[] args) {
String str = "Hello";
StringBuilder sb = new StringBuilder("Hello");
test(str); // 输出:Hello
test(sb); // 输出:Hello World
}
```
阅读全文