5.2の例と同様の参照型へのキャスト変換の例を次に示す。関係しない(つまり,これらは同じではないし,相手の下位クラスでもない)ために,最初のコンパイル時エラーが生じる。従って,これらの間のキャストは,常に失敗する。実装する値を参照できないために,第二のコンパイル時エラーを生じる。型の変数は常にコンパイル時の型と同じ実行時の型の値を保持することによる。Colorableを実装しない。次に,配列(10.)を含む例を示す。}");}}この例は,エラーなしにコンパイルされ,次の出力を生成する。}次の例は,コンパイルのためにキャストを使用しているが,型に互換性がないために実行時に例外を投げる。算術演算のオペランドに対して適用する。数値昇格の文脈では,恒等変換(5.1.1),又はプリミティブ型の拡大変換(5.1.2)が使用できる。数値昇格は,数値演算子のオペランドを共通の型に変換するために使用する。演算が実行可能となるように,数値昇格には,単項数値昇格(5.6.1)と二項数値昇格(5.6.2)の二種類が存在する。"通常の二項変換"と呼ぶ。数値昇格は,Javaプログラム言語の全体的な特徴ではなく,組込み演算の特性である。単一オペランドに適用するものがあり,次のように数値型の値を生成しなければならない。ないときには,単項数値オペランドはそのままとし,変換しない。単項数値昇格は,次の状況の式に関して実行する。配列生成式内の各次元式(15.10)。配列アクセス式内のインデクス式(15.13)。