文字を * に置換する(for文なしで)

他の人のソースを見ていたら、こんなのがありました。

	String str = "";
	for(int i = 0; i < input.length(); i++){
		str += '*';
	}

入力された文字を * に置き換える処理です。


でも、よく考えたらこれ、for文いらないですよね・・・。

	char[] buf = new char[input.length()];
	Arrays.fill(buf, '*');
	String str = new String(buf);

個人的にはこっちの方がすっきりしていて好みです。


「文字列」を繰り返すことはできませんが、その場合は ApacheCommons の StringUtils.repeat*1

*1:Javaの標準APIにしてくれないかなぁ…