basyura's blog

あしたになったらほんきだす。

Arrays.toString

配列の中身をログ出力する時なんかにいつも自力で書いてたんだけど、便利なメソッドがあった。

import java.util.*;
import java.math.*;
public class ArraysTest {
  public static void main(String args[]) {
    String[] msg = {"a","b","c"};
    BigDecimal[] bd = new BigDecimal[]{
      new BigDecimal("1"),
      new BigDecimal("2"),
      new BigDecimal("3")
    };
    System.out.println(Arrays.toString(msg));
    // => [a,b,c]
    System.out.println(Arrays.toString(bd));
    // => [1,2,3]
  }
}

Arrays.toString の中身(JDK5)

public static String toString(Object[] a) {
  if (a == null)
    return "null";
  if (a.length == 0)
    return "[]";

  StringBuilder buf = new StringBuilder();

  for (int i = 0; i < a.length; i++) {
    if (i == 0)
      buf.append('[');
    else
      buf.append(", ");

    buf.append(String.valueOf(a[i]));
  }

  buf.append("]");
  return buf.toString();
}

すごいことをしてる訳では無いけど自分でいちいち書くよりはスッキリする。