基本データ型の暗黙的型変換規則:
・両オペランドともintよりサイズが小さい型の場合、計算が行われる前に両方ともintに拡張される。
・一方のオペランドがdouble型の場合、他方のオペランドもdouble型に変換される。
・両オペランドともdouble型でなく、一方のオペランドがfloat型の場合、他方のぺランドもfloat型に変換される。
・両オペランドともdouble型またはfloat型でなく、一方のオペランドがlong型の場合、他方のオペランドもlong型に変換される。
・両オペランドともdoubhle型、float型、またはlog型でない場合、両オペランドはint型に変換される(またint型でない場合)
instanceof演算子:
第1オペランドが第2オペランドの型を持つオブジェクトかどうかをテストする。
このテストは実行時に行われる。
第1オペランドはオブジェクトまたは配列要素の名前であるとみなされ、第2オペランドはクラス、インタフェース、または配列型とみなされる。
instanceof演算子が役立つ理由:
・クラス階層を伴う一部も無効なキャストはコンパイル時に認識されない。したがって、実行時のエラーを回避するためにinstanceof演算子を使用して制御する必要がある。
・あるプロセスがさまざまな種類のオブジェクトを生成し、他のプロセスがそれを処理するという状況が考えられるとき、処理を実行する前にその型を理解する必要がある。
2つの基本データ型のデータは同じ値を保持していれば等価。
参照変数のどうかは、同じオブジェクトを参照していることを意味する。
2つのオブジェクトの等価性はObjectクラスのequals()メソッドでテストする。