読者です 読者をやめる 読者になる 読者になる

A Clockwork …

~雑記メモ~

そのインスタンスはどこで使うの?

無意味にインスタンスを作るのやめませんか。

オブジェクト指向だからってなんでもオブジェクトにするのは、リソースの無駄遣いになります。

次の例を見てみましょう。

	private StringBuffer sb = new StringBuffer("hoge");

	public String get() {

		String str = new String(sb);
		return str;
	}

あまりいい例では無いですが。

ここで言いたいことは、わざわざstrに代入している意味はあるのでしょうか。
意味は無いですね。

この場合は以下のようにまずはしてみましょう。

	private StringBuffer sb = new StringBuffer("hoge");

	public String get() {

		return new String(sb);
	}

strに代入せずに、直接returnしています。
こちらのほうがわかりやすいですし、無駄が無いですよね。

今回は簡単な例でしたが、複雑なクラスになると

「とりあえず、インスタンス化しとくか…」

といった、考え方になってしまいますが、必要ない場合はあとからでもいいので、リファクタしましょう。

本日は以上です。