Java 在另一个字符串的开头插入字符串
如何在StringBuilder和字符串的开头插入一个用双引号括起来的字符串 例如: 我需要在“Sam”的开头插入字符串“Hello”,并且O/p是“Hello Sam” 我需要在“Jam”的开头插入字符串“Hello”,而O/p是“Hello Jam” 如何实现这一点?当然,请使用:Java 在另一个字符串的开头插入字符串,java,string,Java,String,如何在StringBuilder和字符串的开头插入一个用双引号括起来的字符串 例如: 我需要在“Sam”的开头插入字符串“Hello”,并且O/p是“Hello Sam” 我需要在“Jam”的开头插入字符串“Hello”,而O/p是“Hello Jam” 如何实现这一点?当然,请使用: 第一种情况使用方法完成: _sb.insert(0, "Hello "); 后一种情况可以使用字符串上的重载+运算符来完成。这将在幕后使用StringBuilder: String s2 = "Hello "
第一种情况使用
方法完成:
_sb.insert(0, "Hello ");
后一种情况可以使用字符串上的重载+运算符来完成。这将在幕后使用StringBuilder:
String s2 = "Hello " + _s;
最好使用
indexof()
方法查找引号,然后在该索引后面添加一个字符串
string s="hai";
int s=s.indexof(""");
其他答案解释了如何在另一个
string
或StringBuilder
(或StringBuffer
)的开头插入字符串
但是,严格来说,不能将字符串插入另一个字符串的开头。Java中的字符串是不可变的1
当你写作时:
String s = "Jam";
s = "Hello " + s;
实际上,您正在创建一个新的字符串对象,它是“Hello”和“Jam”的串联。实际上,您根本没有在现有的字符串对象中插入字符
1-从技术上讲,可以使用反射来打破字符串
对象上的抽象并对其进行变异。。。即使它们是设计不变的。但这样做真的是个坏主意。除非您知道String
对象是通过new String(…)
显式创建的,否则它可以共享,也可以与其他String
对象共享内部状态。最后,JVM规范明确指出,使用反射来更改final
的代码行为是未定义的。String
对象的突变是危险的。import java.lang.StringBuilder;
公共课程{
公共静态void main(字符串[]args){
//创建一个新的StringBuilder。
StringBuilder=新的StringBuilder();
//循环并附加值。
对于(int i=0;i<5;i++){
建造商。附加(“abc”);
}
//转换为字符串。
字符串结果=builder.toString();
//打印结果。
系统输出打印项次(结果);
}
}
私有静态无效appendZeroAtStart(){
字符串strObj=“11”;
int-maxLegth=5;
StringBuilder sb=新的StringBuilder(strObj);
如果(sb.length(),你的意思是,在Hello的末尾插入字符串Jam吗?不,在Jam的开头插入字符串Jam,因为它将用Jam初始化字符串不包含“
这不回答原始帖子,它使用字符串和StringBuilder,但它不包含”在StringBuilding的开头插入一个用双引号括起来的字符串。你怎么知道这在幕后使用了StringBuilder?@MasterJoe:阅读问题!
String s2 = "Hello " + _s;
string s="hai";
int s=s.indexof(""");
String s = "Jam";
s = "Hello " + s;
import java.lang.StringBuilder;
public class Program {
public static void main(String[] args) {
// Create a new StringBuilder.
StringBuilder builder = new StringBuilder();
// Loop and append values.
for (int i = 0; i < 5; i++) {
builder.append("abc ");
}
// Convert to string.
String result = builder.toString();
// Print result.
System.out.println(result);
}
}
private static void appendZeroAtStart() {
String strObj = "11";
int maxLegth = 5;
StringBuilder sb = new StringBuilder(strObj);
if (sb.length() <= maxLegth) {
while (sb.length() < maxLegth) {
sb.insert(0, '0');
}
} else {
System.out.println("error");
}
System.out.println("result: " + sb);
}