字符串连接需要两个操作数,即要连接的两个字符串。在String案例研究中,我们展示了如何实现一个重载连接操作符,该操作符将第二个String对象连接到第一个String对象的右侧,从而修改第一个Str
时间: 2024-12-19 15:14:09 浏览: 4
在Java中,字符串连接通常涉及到`+`运算符,但如果你想要实现自定义的行为,比如创建一个重载的操作符,你可以利用运算符重载。为了在`String`类中创建一个类似`+=`的连接操作,你需要覆盖`StringBuilder`或`StringBuffer`类的`append()`方法,因为原始的`+`会创建新的字符串对象,而这两个类提供了在原地添加字符的功能,效率更高。
例如:
```java
public class CustomString {
private StringBuilder builder;
public CustomString(String initial) {
builder = new StringBuilder(initial);
}
// 运算符重载
public CustomString operatorPlus(CustomString other) {
if (other != null) {
builder.append(other.builder.toString());
}
return this; // 返回当前对象以便链式调用
}
@Override
public String toString() {
return builder.toString();
}
public static void main(String[] args) {
CustomString str1 = new CustomString("Hello");
CustomString str2 = new CustomString(" World!");
str1 = str1.operatorPlus(str2); // str1现在等于"Hello World!"
System.out.println(str1);
}
}
```
阅读全文