まだほんの少ししか試していませんが、エラーなく動いています。
パフォーマンス考えると、使いどころには気を付けたいです。
パフォーマンスArrayList 生成時のパフォーマンスTraceViewツールで計測してみました。 (1000回実行時の平均値です。数値は機種やバックグラウンドの動作で異なります。比率のみ参考になります)
Lists.newArrayList()- 0.162ms List<String> list=Lists.newArrayList();
- 0.155ms ArrayList<String> list=Lists.newArrayList();
- 0.133ms List<String> list=new ArrayList<String>();
- 0.129ms ArrayList<String> list=new ArrayList<String>();
推奨されている、ArrayListの直接生成が一番速いですね。
Joinerを使って結合String value=Joiner.on(",").join(values); - 3.408ms +を使った結合
- 2.440ms Joinerを使った場合
- 2.366ms 予めJoiner.onで生成
- 1.384ms StringBuilderで結合
- 1.182ms StringBuilderをsetLength(0)で使い回し
普段 + で文字列結合しても平気なら使ってもいいだろうが、なるべく避けた方が無難 頻繁に使うなら、StringBuilderで結合するstaticメソッドでも作成した方がいいかも。
public static String joinOnConma(final String[] values){
StringBuilder builder=new StringBuilder();
for(int i=0;i<values.length;i++){
builder.append(values[i]);
if(i!=values.length-1){
builder.append(",");
}
}
return builder.toString();
}
|