2.4.1 クラスと変数はキャメルケースで,定数はスネークケースで
- クラス名 → 大文字始まりのキャメルケース(パスカルケース)
- 変数 → 小文字始まりのキャメルケース
- 定数 → すべて大文字で、単語をアンダースコアで区切るスネークケース
2.4.4 「不吉な匂い」がする名前に気をつける
- XxxInfo
- XxxData
- XxxManager
3.1.2 プリミティブ型
long amount = 123_456_789L;
System.out.println(amount);
3.1.3 ラッパークラス
- プリミティブ型からラッパークラスへの変換は、valueOfメソッドを使う
- プリミティブ型intの初期値は 0 、ラッパー型Integerの初期値は null
- ファイルや通信から値を読み込む場合は Integer 推奨
- 数値計算には int 推奨
3.2.7 インタフェース
- Java8より、処理内容を定義するdefaultメソッドが追加された
- 定数を定義することができる
- メソッドの public abstract は省略可能
- 定数の public static final は省略可能
3.2.8 匿名クラス
public interface TaskHandler {
boolean handle(Task task);
}
public class AnonymousClassSample {
public static void main(String... args) {
TaskHandler taskHandler = new TaskHandler() {
public boolean handle(Task task) {
}
};
Task myTask = new Task();
taskHandler.handle(myTask);
}
}
3.3.2 オブジェクトの等価性
- hashCodeメソッドによるハッシュ値には、次の性質があります
- 同じオブジェクトのハッシュ値は、必ず同一となる
- ハッシュ値が異なる場合には、異なるオブジェクトである
- 異なるオブジェクトでもハッシュ値が同じになることがある
- 高速にオブジェクトの等価判定ができる
- 最初にハッシュ値でオブジェクトを比較する
- ハッシュ値が等しい限り、equalsメソッドで厳密な判定を行う
- Apache Commons の Commons Lang ライブラリ
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
kameyatakefumi.hatenablog.com