2016-12-29 14 views
1

は以下を含む私のString配列である:特定の引数から文字列に結合する文字列に結合しますか?ここ

「メッセージ」「プレイヤー」「「あなたは」

私は「どのように」「ある」「あなた」の部分への参加を希望していますされている「どのように」」文字列の[]と私は現在、次のことをやっている:

String msg = ""; 

for (int i = 2; i < args.length; i++) 
{ 
    msg = msg + args[i] + " "; 
} 

Util.messagePlayer(player, msg); 

だから私の質問は、これを行うのより良い/より効率的な方法はありますか?

+1

O f 'String'は' StringBuilder'を使います。 – Azodious

答えて

1

はい、良い方法があり、毎回あなたがその配列を反復され、新しいStringオブジェクトを作成なっている(Strings are immutableので)、しかし、この1 、効率の損失は、そのかなりのではないので、まだ完全な詳細についての代わりStringBuilder

StringBuilder msg = new StringBuilder(); 

for (int i = 2; i < args.length; i++) 
{ 
    msg.append(args[i] + " "); 
} 
Util.messagePlayer(player, msg.toString); 

を使用しようと、短い文字列である代わりにStringBuilder vs String concatenation in toString() in Java

+0

msgは必要がありますが、動作します: 'StringBuilder msg = new StringBuilder();' –

0

StringオブジェクトはJavaでは不変オブジェクトなので、2つの文字列を連結するたびに、新しいオブジェクトを作成することになりますが、これはコストがかかります。

代わりにStringBuilderを使用できます。

それはここにも記述されている使用方法に関する

より: Correct way to use StringBuilder

関連する問題