Effective Java 第8章 プログラミング一般 (47 - 52)

これらの項目をいざコーディング、というときにちゃんと覚えているだろうか……

項目47

下手に自作関数を作るよりも、既に使われているライブラリがあるのであればそちらを使いましょう、という項目。
標準ライブラリとかApache Commonsとか、それ以外にもいろんなライブラリがあって、
いろんな人に使われているわけで、そういうのを使ったほうが安心安全。

項目48

数値を扱うときに正確な値が欲しい時はfloatとdoubleを使わない、という項目。
この2つは速度重視みたい。お金の計算なんかだと特に悪いとか。
代わりにBigDecimalか、小数点ごと(ごと?)にlongを使いましょうとのこと。

項目49

Integerよりintを、つまり基本データ型を使いましょう、という項目?
サンプルを見ると確かにオートボクシングとかいろいろ厄介ぽい。
下手に書くとループ内で型の変換が頻発したりして速度低下なんてことも。

項目50

ユーザからの入力のときなど、文字列で受け取ってすぐに適切な型に変換して使え、という項目?
enumを使えばいいものを、文字列で代用してるコード見たりすると嫌な気分になるけど、そういうことかな。

項目51

文字列連結の項目が多い場合はStringBuilderを、という項目。
ループ内で文字列連結するときなんかは普通に連結すると遅いから、StringBuilderを使うけどそういうことだよね。

項目52

オブジェクトを宣言するときはクラス名でなくインターフェース名で、という項目。

ArrayList<String> al = new ArrayList<String>();

ではなく

List<String> al = new ArrayList<String>();

てことですか。こうすると、後からArrayListでないListを使うときに切り替えが楽だったり、柔軟になるとか。


大体普段からやってることが多い気がする。こんな感じで書けばひどいコードにはならなそう……かな?