Java 将字符串数组从某个参数连接到一个字符串中?
以下是我的字符串数组,其中包含以下内容:Java 将字符串数组从某个参数连接到一个字符串中?,java,arrays,string,Java,Arrays,String,以下是我的字符串数组,其中包含以下内容: String msg = ""; for (int i = 2; i < args.length; i++) { msg = msg + args[i] + " "; } Util.messagePlayer(player, msg); 消息“player”“你好” 我想加入字符串[]中的“how”“you”部分,目前我正在执行以下操作: String msg = ""; for (int i = 2; i < args.le
String msg = "";
for (int i = 2; i < args.length; i++)
{
msg = msg + args[i] + " ";
}
Util.messagePlayer(player, msg);
消息“player”“你好”
我想加入字符串[]中的“how”“you”部分,目前我正在执行以下操作:
String msg = "";
for (int i = 2; i < args.length; i++)
{
msg = msg + args[i] + " ";
}
Util.messagePlayer(player, msg);
String msg=”“;
对于(int i=2;i
因此,我的问题是,有没有更好/更有效的方法来实现这一点?
String
对象在Java中是不可变的,因此每次连接两个字符串时,都是在创建一个新对象,这是非常昂贵的
相反,您可以使用StringBuilder
有关如何使用它的详细信息,请参见:
是的,有一种更好的方法,每次迭代该数组时,都会创建新的字符串对象(因为),但是这是一个短字符串,因此效率损失不是很大,仍然尝试使用
StringBuilder
StringBuilder msg = new StringBuilder();
for (int i = 2; i < args.length; i++)
{
msg.append(args[i] + " ");
}
Util.messagePlayer(player, msg.toString);
StringBuilder msg=new StringBuilder();
对于(int i=2;i
要获得完整的详细信息,请使用
StringBuilder
,而不是String
。虽然msg需要是:StringBuilder msg=new StringBuilder()代码>