Java 如何在声明的字符串后追加字符串?
一个初学者正在问这个问题,所以听起来可能很基本!。。。。我仍在学习走路……有一天我将跑步:) 我想修改下面的代码,这样我就可以在输入的名字后面插入单词“Great”。名称长度不同,因此我知道我必须更改行Java 如何在声明的字符串后追加字符串?,java,Java,一个初学者正在问这个问题,所以听起来可能很基本!。。。。我仍在学习走路……有一天我将跑步:) 我想修改下面的代码,这样我就可以在输入的名字后面插入单词“Great”。名称长度不同,因此我知道我必须更改行z 你能告诉我正确的方法吗 问候, Scanner id = new Scanner(System.in); String name = " "; String surname = " "; System.out.println("Please enter yo
z代码>
你能告诉我正确的方法吗
问候,
Scanner id = new Scanner(System.in);
String name = " ";
String surname = " ";
System.out.println("Please enter your name: ");
name = id.nextLine();
System.out.println();
System.out.println("Please enter your surname: ");
surname = id.nextLine();
StringBuffer z = new StringBuffer();
z.append(name + " " + surname + " Is The King of Kings");
z.insert(5, " The Great ");
System.out.println(z);
System.out.println();
为什么不采用更简单的方法:
StringBuffer z = new StringBuffer();
z.append(name + " The Great " + surname + " Is The King of Kings");
不幸的是,这没有利用StringBuffer
-要使用StringBuffer
它的用途,请尝试
z.append(name).append(" The Great ").append(surname).append(" Is The King of Kings");
我们这样做的原因是,每次我们进行串联时,使用+
操作符串联字符串会创建一个新的字符串对象(并丢弃前面的两个操作数)。这可以为GC创建大量工作。为什么不采用更简单的方法:
StringBuffer z = new StringBuffer();
z.append(name + " The Great " + surname + " Is The King of Kings");
不幸的是,这没有利用StringBuffer
-要使用StringBuffer
它的用途,请尝试
z.append(name).append(" The Great ").append(surname).append(" Is The King of Kings");
我们这样做的原因是,每次我们进行串联时,使用+
操作符串联字符串会创建一个新的字符串对象(并丢弃前面的两个操作数)。这会为GC创建大量工作。您需要计算名称的长度,类似于
int len = name.length() + surname.length() + 1;
应该为您提供索引点,在此之后可以插入附加字符串
例如,就个人而言,如果可以的话,最好在一个步骤中附加元素
z.append(name).
append(" ").
append(surname).
append(" The Great ").
apoend("is the King of Kings");
您需要计算name
的长度,类似于
int len = name.length() + surname.length() + 1;
应该为您提供索引点,在此之后可以插入附加字符串
例如,就个人而言,如果可以的话,最好在一个步骤中附加元素
z.append(name).
append(" ").
append(surname).
append(" The Great ").
apoend("is the King of Kings");
我会使用StringBuilder
和一些链接调用:
我会使用StringBuilder
和一些链接调用:
为什么不做一个简单的字符串对象,而不是做一个StringBuffer呢
String output = name + " The Great " + surname + " Is The King of Kings";
System.out.println(output);
为什么不做一个简单的字符串对象,而不是做一个StringBuffer呢
String output = name + " The Great " + surname + " Is The King of Kings";
System.out.println(output);
像z.append(name.append(“TheGreat”)这样做不是更好吗。。。或者类似的?做一些像z.append(name.append(“伟大”)这样的事情不是更好吗。。。或者是这样的?@user3693592很高兴它起了作用;)@用户3693592很高兴它有帮助;)