1、StringBuffer类的练习 (1)StringBuffer类的添加、删除、替换、翻转、截取功能的掌握 (2 )String和StringBuilder分别作为参数传递的异同
时间: 2024-05-04 21:17:22 浏览: 40
java 中String和StringBuffer与StringBuilder的区别及使用方法
5星 · 资源好评率100%
好的,我会为您解答第一个问题。
1、StringBuffer类的添加、删除、替换、翻转、截取功能的掌握
StringBuffer是一个可变的字符序列,可以对其中的字符进行添加、删除、替换、翻转、截取等操作。
添加操作可以通过append()方法来实现,例如:
```
StringBuffer sb = new StringBuffer("hello");
sb.append(" world");
System.out.println(sb); // 输出:hello world
```
删除操作可以通过delete()方法来实现,例如:
```
StringBuffer sb = new StringBuffer("hello world");
sb.delete(5, 11); // 删除从索引5开始到索引11之前的字符
System.out.println(sb); // 输出:hello
```
替换操作可以通过replace()方法来实现,例如:
```
StringBuffer sb = new StringBuffer("hello world");
sb.replace(0, 5, "hi"); // 将索引0到索引5之前的字符替换成"hi"
System.out.println(sb); // 输出:hi world
```
翻转操作可以通过reverse()方法来实现,例如:
```
StringBuffer sb = new StringBuffer("hello world");
sb.reverse(); // 翻转字符串
System.out.println(sb); // 输出:dlrow olleh
```
截取操作可以通过substring()方法来实现,例如:
```
StringBuffer sb = new StringBuffer("hello world");
String sub = sb.substring(6); // 截取从索引6开始到字符串结尾的字符串
System.out.println(sub); // 输出:world
```
2、String和StringBuilder分别作为参数传递的异同
String和StringBuilder都是字符串类型,但是它们之间有以下差异:
- String是不可变的,一旦创建,内容就不能被修改。而StringBuilder是可变的,可以随意地修改内容。
- String的拼接操作会创建新的字符串对象,而StringBuilder的拼接操作是在原有的字符串基础上修改。
- 由于String是不可变的,因此在涉及到大量字符串拼接时,使用StringBuilder的效率会更高。
作为参数传递时,String类型的参数传递的是值,即传递的是字符串的拷贝,而StringBuilder类型的参数传递的是引用,即传递的是对象的地址。因此,如果需要在方法内修改字符串,应该使用StringBuilder类型作为参数传递。
阅读全文