このメソッドは、ループの中で + を使用して String を構築していると思われます。 各々の繰り返しにおいて、StringStringBuffer/StringBuilder に変換、追加され、String へ変換されます。 各々の繰り返しで文字列が再コピーされ増大すると、繰り返しの数で二次コストの原因になる可能性があります。

明示的に、StringBuffer (または J2SE 5.0の StringBuilder) を使うことで、より良い性能を得られるかもしれません。

たとえば、

// This is bad
String s = "";
for (int i = 0; i < field.length; ++i) {
    s = s + field[i];
}

// This is better
StringBuffer buf = new StringBuffer();
for (int i = 0; i < field.length; ++i) {
    buf.append(field[i]);
}
String s = buf.toString();