Java 向字符串添加字符
Java提供了多种方式向字符串中添加字符。我们可以根据需要在开头、结尾或任意位置添加字符。
在本文中,我们将看到三种实现的方法−
- 使用‘+’运算符
-
使用StringBuffer和StringBuilder类的方法
-
使用substring()方法
方法1:使用‘+’运算符
在这个部分,我们将使用连接运算符向字符串中添加一个字符。
示例
public class Main {
public static void main(String[] args) {
String st = "Tutorial";
char chartoadd = 's';
st = st + chartoadd;
// performing concatenation
System.out.println(st);
}
}
输出
Tutorials
方法2:使用StringBuilder和StringBuffer类的方法
要理解这部分内容,您需要对Java中的StringBuilder和StringBuffer类有基本的了解。
在Java中,字符串是不可变的,但为了对字符串进行修改,Java提供了两个内置类StringBuilder和StringBuffer。它们都有 insert() 和 append() 方法,可以用于向字符串中添加字符。
insert()方法
这个方法在两个类中都存在,只有一个细微的差别,即如果使用StringBuilder类则需要创建一个StringBuilder对象,如果使用StringBuffer类则需要创建一个StringBuffer对象。
insert() 方法允许我们在指定的位置添加字符。
语法
public StringBuilder insert(index, char);
public StringBuffer insert(index, char);
参数
index - 您想要添加字符的字符串位置。
char - 您想要添加的字符。
对于StringBuffer
示例
public class Main{
public static void main(String []args){
String st="oint";
char chartoadd='P';
StringBuffer new_st=new StringBuffer(st);
new_st.insert(0,chartoadd);
System.out.println(new_st);
}
}
输出
Point
‘point’是字符串的名称,‘P’是我们想要在第0个位置添加的字符。首先,我们创建了一个名为‘new_st’的StringBuffer类的对象,然后我们使用insert()方法,使用索引值0和保存字符‘P’的变量名。
对于StringBuilder
示例
public class Main{
public static void main(String []args){
String st="Tutorial";
char chartoadd='s';
StringBuilder new_st=new StringBuilder(st);
new_st.insert(8,chartoadd);
System.out.println(new_st);
}
}
输出
Tutorials
‘Tutorial’ 是给定字符串的名称,“s” 是我们想要在第8个位置添加的字符。首先,我们创建了一个名为 ‘new_st’ 的 StringBuilder 类的对象,然后我们使用 insert() 方法,将 index 值设为8,并使用存储字符 ‘s’ 的变量名。
append()
它在这两个类中也都存在,只是稍有不同的是,如果使用 StringBuilder 类,我们必须创建一个 StringBuilder 对象;如果使用 StringBuffer 类,我们必须创建一个 StringBuffer 对象。
append() 方法将字符添加到字符串的末尾。
语法
public StringBuffer append(char);
public StringBuilder append(char);
参数
char - 要添加的字符。
对于StringBuffer
public class Main{
public static void main(String []args){
String st="Simpl";
char chartoadd='y';
StringBuffer new_st=new StringBuffer(st);
new_st.append(chartoadd);
System.out.println(new_st);
}
}
输出
Simply
在这里,我们创建了一个名为’new_st’的StringBuffer类对象,然后我们使用append()方法并使用保持字符’y’的变量名。请记住,append()方法不需要像insert()方法那样指定索引值。
对于StringBuilder
示例
public class Main{
public static void main(String []args){
String st="Tutorial";
char chartoadd='s';
StringBuilder new_st=new StringBuilder(st);
new_st.append(chartoadd);
System.out.println(new_st);
}
}
输出
Tutorials
我们创建了一个StringBuilder类的名为“new_st”的对象,然后我们使用了append()方法,并使用了一个包含字符“s”的变量名。
方法3:使用String类的substring()方法
Java的String类有一个名为substring()的方法,可以用来向给定的字符串添加字符。
语法
old_string.substring(start_pos, target_pos);
参数
start_pos - 旧字符串的起始索引
target_pos - 您想要添加字符的索引位置。
示例
public class Main{
public static void main(String []args){
String st="Tutorialsoint";
char chartoadd='P';
String new_st= st.substring(0,9) + chartoadd + st.substring(9);
System.out.println(new_st);
}
}
输出
TutorialsPoint
我们已经创建了‘new_st’作为一个新的拼接字符串。首先,我们从第0个位置到第8个位置将旧字符串‘st’拆分,然后我们添加了第9个位置的字符。最后,我们添加了剩下的字符串。
结论
我们已经看到了添加字符到字符串的不同方法。我们可以使用连接运算符、insert()和append()方法。StringBuilder类比StringBuffer类更快,但是为了线程安全,StringBuffer更加安全。如果我们想要在特定位置添加字符,我们可以使用insert()方法,如果想在字符串末尾添加一个字符,可以使用append()方法。最后,我们看到了使用substring()方法需要将旧字符串分成不同的部分。