Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串数组从某个参数连接到一个字符串中?_Java_Arrays_String - Fatal编程技术网

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()